Sha*_*ram 10 jquery datatables angularjs angular-datatables
我试图在我的项目中实现angular-datatables,但它返回"TypeError:无法读取属性'aDataSort'的undefined
我在用
Angular js版本1.4.9.
Jquery版本2.1.1
DataTable版本1.10.10
参考网站
我的Html代码
<div class="col-md-12" ng-controller="WithAjaxCtrl as showCase"> <table datatable="" dt-options="showCase.dtOptions" dt-columns="showCase.dtColumns" class="row-border hover"></table></div>
Run Code Online (Sandbox Code Playgroud)
我的Angular js控制器代码
angular.module( 'admin.package', [
'ui.router',
'ui.bootstrap',
'datatables',
'datatables.bootstrap',
'ngResource',
'plusOne'
]).controller('WithAjaxCtrl', WithAjaxCtrl);
function WithAjaxCtrl(DTOptionsBuilder, DTColumnBuilder,$http,UserService,localStorageService) {
UserService.obj.get('packages/index',localStorageService.get('userkey').token).then(function (results) {
if(results.status==200){
var vm = this;
vm.dtOptions = DTOptionsBuilder.fromSource(results.data.packages)
.withPaginationType('full_numbers');
vm.dtColumns = [
DTColumnBuilder.newColumn('id').withTitle('id'),
DTColumnBuilder.newColumn('package_name').withTitle('Packag Name'),
DTColumnBuilder.newColumn('amount').withTitle('Amount'),
DTColumnBuilder.newColumn('package_duration').withTitle('Amount'),
DTColumnBuilder.newColumn('currency').withTitle('validity')
];
console.log(vm.dtColumns);
console.log( vm.dtOptions);
}else{
alert('You are not a authorized user');
}
}, function(reason) {
console.log(reason);
});
}
Run Code Online (Sandbox Code Playgroud)
提前致谢
你是通过showCase.dtOptions
与showCase.dtColumns
该datatables
页面加载时,但他们没有申报,直到你的服务调用完成后的指令。一种解决方法是ng-if
在服务调用后使用html来构造HTML:
<table ng-if="showCase.authorized" datatable="" ...
Run Code Online (Sandbox Code Playgroud)
然后在控制器中,在调用服务之前初始化变量,并在调用完成后对其进行更新:
app.controller('WithAjaxCtrl', function WithAjaxCtrl(DTOptionsBuilder, DTColumnBuilder, UserService) {
var vm = this;
vm.authorized = false;
UserService.get()...
Run Code Online (Sandbox Code Playgroud)
这是一个演示。您可以通过删除来重现该错误ng-if
。http://plnkr.co/edit/XZYOEvgy1HoMYGmGdAYj?p=preview
归档时间: |
|
查看次数: |
8913 次 |
最近记录: |