私は Angularjs の ng-grid コンポーネントについて勉強していますが、かなり残念な問題に遭遇しました。基本的に、フローは次のとおりです。ページが読み込まれ、ボタンのみが表示されます。ボタンがクリックされ、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 の覗き見で報告すべきバグなのか知りたいです。
乾杯