ng-grid меняет стиль при заполнении данных и делает их видимыми

Я изучаю компонент ng-grid Angularjs и столкнулся с довольно разочаровывающей проблемой. По сути, поток такой: страница загружается, и видна только кнопка. Нажата кнопка, и запрос AJAX получает данные json и привязывает их к сетке.

Вот что я вижу, когда впервые нажимаю кнопку: введите здесь описание изображения

Если я вообще изменю размер браузера, он вернется к правильному размеру: введите здесь описание изображения

Мой контроллер выглядит так:

myAppModule.controller('PodcastController', function ($scope, $http) {

    $scope.getData = function () {
        $http.get('/Home/PodcastDataAsJson').success(function (data) {
            $scope.podcasts = data;
        });

        $scope.gridVisibilty = 'gridStyle';
    };

    $scope.gridOptions = {
        data: 'podcasts',
        columnDefs: [
            { field: 'Id', displayName: 'Id' },
            { field: 'Name', displayName: 'Name' },
            { field: 'Artist', displayName: 'Artist' }
        ]
    };

    $scope.gridVisibilty = 'notDisplayed';

});

Представление выглядит следующим образом:

<div ng-app="gridExampleApp">
    <div ng-controller="PodcastController">

        <button ng-click="getData()">Click to get Data</button>

        <div id="datagrid" ng-grid="gridOptions" class="ng-class: gridVisibilty;"></div>

    </div>
</div>

Мой css выглядит так:

.notDisplayed 
{
    display: none;
}

.displayed 
{
    display: block;
    border: 1px solid rgb(212,212,212);
    width: 800px;
    height: 300px;
}

.gridStyle 
{
    display: block;
    border: 1px solid rgb(212,212,212);
    width: 400px; 
    height: 300px
}

Я хотел бы знать, является ли это мной, или это ошибка, которую я должен зарегистрировать с помощью Angular ng-grid peeps.

Ваше здоровье


person onefootswill    schedule 14.04.2013    source источник


Ответы (1)


Вы не показали, как вы загружаете таблицу стилей ng-grid, но у меня были похожие проблемы, когда я пытался получить ее по прямой ссылке.

Вот демонстрация с локальным файлом для таблицы стилей ng-grid: http://plnkr.co/edit/2pq9YotA4RJIMll5BJvh?p=preview. Я также использовал директиву ng-show, связанную с переменной podcasts, в качестве условия для отображения/скрытия сетки.

В заголовке index.html, если вы попытаетесь использовать прямую ссылку на таблицу стилей, появится странный эффект отображения. Но если вы поместите тот же код в локальный файл, он сработает.

person jpmorin    schedule 14.04.2013
comment
ты жжешь! ng-show полностью разобрался с этим. Спасибо за помощь. Желаю хорошей недели! - person onefootswill; 14.04.2013