下面是我的HTML和用于进行Web服务调用并在ngGrid中显示数据的代码。问题在于路由提供者,我无法在单独的视图中显示网格,但如果我在没有路由提供者的情况下执行完全相同的代码,并且仅加载该页面,则它可以正常工作。
由于我对angularJS很新,所以任何建议都会受到赞赏。我做了很多研究但是没有用,至少对我而言。如果我错过了某处的相关帖子,请考虑一下。谢谢!
<div>
<!--Placeholder for views-->
<div ng-view=""></div>
</div>
//this is what I have in one of my view for grid.
<div class="gridStyle" data-ng-grid="gridOptions">
</div>
/* display/get/call the JSON data from the web service and bind it to the view */
var app = angular.module('salesApp',['ngGrid']);
app.config (['$routeProvider', function ($routeProvider){
$routeProvider
.when('/sales',
{
controller:'salesCtrl',
templateUrl:'Partials/sales.html'
})
.when('/associate',
{
controller:'assocCtrl',
templateUrl:'Partials/associate.html'
})
.otherwise({redirectTo:'/sales'});
}]);
app.controller('salesCtrl', function($scope, $http) {
$http.jsonp('http://some url...')
.success(function (data) {
$scope.sales = data;
});
$scope.gridOptions = {data: 'sales',
columnDefs:[{field:'Region_Num', displayName: 'Region Num'}
],
showGroupPanel: true
};
});
答案 0 :(得分:0)
这是一篇较老的帖子;但我遇到了同样的问题。事实证明,当我定义app / Moduile时;我没有将ngGrid作为其中一个选项:
myApp = angular.module('myApp', ['ngGrid']);
这显然不是你的问题;正如我在你的代码中看到的那样;所以这个答案可能适用于通过Google发现此问题的其他人。