我使用angular-datatables来格式化我的表格。我也在使用ui-routing来处理路由。
可以通过在控制器(http://l-lin.github.io/angular-datatables/#/withOptions)中将几个对象附加到$ scope来定义dataTable的格式,例如:
angular.module('datatablesSampleApp', ['datatables']).controller('withOptionsCtrl', function($scope, DTOptionsBuilder, DTColumnDefBuilder) {
$scope.dtOptions = DTOptionsBuilder.newOptions()
.withPaginationType('full_numbers')
.withDisplayLength(2)
.withDOM('pitrfl');
$scope.dtColumnDefs = [
DTColumnDefBuilder.newColumnDef(0).notSortable(),
DTColumnDefBuilder.newColumnDef(1).notVisible(),
DTColumnDefBuilder.newColumnDef(2)
];
});
dataTable呈现为:
<table datatable="ng" class="table table-striped table-bordered table-hover">
我的路线定义为:
.state('unclassified', {
url: "/unclassified",
templateUrl: "/app/documentsUnclassified/documentsunclassified.html",
controller: 'documentUnclassifiedCtrl',
controllerAs: 'documentsUnclassified'
}
我的问题是如何以最有效的方式执行此操作,因为我在使用ui路由器时无法访问控制器中的$ scope。
答案 0 :(得分:0)
由于您使用的是controllerAs
语法,因此需要使用您在路由器中设置的变量documentsUnclassified
:
<table datatable="ng"
dt-options="documentsUnclassified.dtOptions"
dt-column-defs="documentsUnclassified.dtColumnDefs"
class="table table-striped table-bordered table-hover">
</table>