angular 数据表未正确呈现

angular datatables not being rendered properly

我正在尝试在我的 angular js 项目中使用 angular 数据表,但似乎遗漏了什么,有人可以帮我吗

链接:-

 <script src="~/Scripts/angular.min.js"></script>
    @*<script src="~/Scripts/angular-route.min.js"></script>*@
    <script src="~/Scripts/angular-resource.min.js"></script>

    <script src="~/widget/angular-datatables/angular-translate.min.js"></script>
    <script src="~/widget/angular-datatables/angular-datatables.util.js"></script>
    <script src="~/widget/angular-datatables/angular-datatables.factory.js"></script>
    <script src="~/widget/angular-datatables/angular-datatables.options.js"></script>
    <script src="~/widget/angular-datatables/angular-datatables.renderer.js"></script>
    <script src="~/widget/angular-datatables/angular-datatables.directive.js"></script>
    <script src="~/widget/angular-datatables/angular-datatables.instances.js"></script>
    <script src="~/widget/angular-datatables/angular-translate.min.js"></script>
    <script src="~/widget/angular-datatables/angular-datatables.js"></script>

html代码:-

<table datatable dt-options="dtOptions" dt-columns="dtColumns" dt-instance="dtInstance" class="row-border hover"></table>

js代码:-

var dtJson = [{
            "id": 860,
            "firstName": "Superman",
            "lastName": "Yoda"
        }, {
            "id": 870,
            "firstName": "Foo",
            "lastName": "Whateveryournameis"
        }, {
            "id": 590,
            "firstName": "Toto",
            "lastName": "Titi"
        }];

    $scope.RecordMasterModel.gridData = dtJson;
    $scope.dtInstance = {};
    $scope.dtOptions = DTOptionsBuilder.fromSource(dtJson).withPaginationType('full_numbers');

    $scope.dtColumns = [
        DTColumnBuilder.newColumn('id').withTitle('ID'),
        DTColumnBuilder.newColumn('firstName').withTitle('First name'),
        DTColumnBuilder.newColumn('lastName').withTitle('Last name'),
    ];

渲染后的页面:-

我相信 gridData 是您从 angular smartTables 或 angular UI Grid 中学到的东西?此外,fromSource() 表示 AJAX 源 - 通常是 data.json 之类的远程或本地文件。以下是实现您想要的目标的步骤:

标记:

<table datatable dt-options="dtOptions" dt-columns="dtColumns"></table>

脚本:

$scope.dtColumns = [
   DTColumnBuilder.newColumn('id', 'ID'),
   DTColumnBuilder.newColumn('firstName', 'First name'),
   DTColumnBuilder.newColumn('lastName', 'Last name')
];  
$scope.dtOptions = DTOptionsBuilder.newOptions()
  .withOption('data', dtJson)    
  .withDataProp('');

最重要的部分是 .withOption('data', dtJson),您将 dtJson 变量推入 dataTables 原生 data 属性。

现在代码可以工作了 -> http://plnkr.co/edit/ZNKMNYv9uXKCGKSOyo1y?p=preview