获取错误"无法设置未定义的属性gridDim"在角度js中使用ng-grid。我已经宣布vm.gridOptions = {data:' vm.course_view'};。plz帮助我
<section class="mainbar">
<section class="matter">
<div class="container">
<div class="row" ng-controller="Course_view">
<div class="col-lg-5 col-lg-offset-2">
<div class="widget wblue">
<div vis-widget-header title="{{vm.title}}"></div>
<div class="widget-content user">
<!-- <table data-toggle="table" data-height="150" class="table table-condensed table-hover">
<thead>
<tr>
<th>Lesson</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="c in vm.course_view"
>
<td>{{c.firstName}}</td>
</tr>
</tbody>
</table> -->
<div class="gridStyle" ng-grid="course_view"></div>
</div>
<div class="widget-foot">
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
</div>
</section>
这是控制器代码
(function() {
'use strict';
angular
.module('app.course_view')
.controller('Course_view', Course_view);
/* @ngInject */
function Course_view($state, dataservice, logger) {
var vm = this;
vm.course_view = [];
vm.title = 'Course_view';
vm.gridOptions = { data: 'vm.course_view', columnDefs: [
{field:'firstName', displayName:'firstName'}
]};
activate();
function activate() {
return getCourse_View().then(function() {
logger.info('Activated course_view View');
});
}
function getCourse_View() {
return dataservice.getCourse_View().then(function(data) {
vm.course_view = data;
debugger;
return vm.course_view;
});
}
}
})();
答案 0 :(得分:3)
请尝试更改以下代码:
<div class="row" ng-controller="Course_view">
在
<div class="row" ng-controller="Course_view as courseCtrl">
和
<div class="gridStyle" ng-grid="course_view"></div>
在
<div class="gridStyle" ng-grid="courseCtrl.course_view"></div>
请在评论中给我反馈你的成功/失败。
<强>更新强>
我已经通过工作示例为您创建了JSFiddle。
我是一个简单的例子,但它应该有效。
<div ng-controller="CourseViewCtrl as ctrl">
<div class="gridStyle" ng-grid="ctrl.gridOptions"></div>
</div>
(function() {
'use strict';
var myApp = angular.module('myApp',['ngGrid']);
myApp.controller('CourseViewCtrl', CourseViewCtrl);
function CourseViewCtrl($http) {
var vm = this;
vm.course_view = [];
vm.gridOptions = {
data: 'ctrl.course_view'
};
activate();
function activate() {
return $http.get("/data").success(function(data) {
vm.course_view = data;
});
};
}
})();
我想注意一下代码之间的主要区别:
控制器中的网格选项:
vm.course_view = [];
vm.gridOptions = {
data: 'ctrl.course_view'
};
视图上的网格:
<div class="gridStyle" ng-grid="ctrl.gridOptions"></div>