与路由提供程序一起使用时不显示ngGrid

时间:2013-09-11 23:06:45

标签: angularjs controller angularjs-routing ng-grid

下面是我的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
    };

});

1 个答案:

答案 0 :(得分:0)

这是一篇较老的帖子;但我遇到了同样的问题。事实证明,当我定义app / Moduile时;我没有将ngGrid作为其中一个选项:

myApp = angular.module('myApp', ['ngGrid']);

这显然不是你的问题;正如我在你的代码中看到的那样;所以这个答案可能适用于通过Google发现此问题的其他人。