了解ng-table演示中的延迟排序示例

时间:2014-09-28 08:40:49

标签: javascript angularjs

我试图使用此处显示的示例 http://bazalt-cms.com/ng-table/example/3

以下是它的一些片段:

<table ng-table="tableParams" class="table">
        <tr ng-repeat="user in $data">
            <td data-title="'Name'" sortable="'name'">
                {{user.name}}
            </td>
            <td data-title="'Age'" sortable="'age'">
                {{user.age}}
            </td>
        </tr>
    </table>

这是js脚本的数据初始化:

var data = [{name: "Moroni", age: 50},
                {name: "Tiancum", age: 43},
                {name: "Jacob", age: 27},
                {name: "Nephi", age: 29},
                {name: "Enos", age: 34},
                {name: "Tiancum", age: 43},
                {name: "Jacob", age: 27},
                {name: "Nephi", age: 29},
                {name: "Enos", age: 34},
                {name: "Tiancum", age: 43},
                {name: "Jacob", age: 27},
                {name: "Nephi", age: 29},
                {name: "Enos", age: 34},
                {name: "Tiancum", age: 43},
                {name: "Jacob", age: 27},
                {name: "Nephi", age: 29},
                {name: "Enos", age: 34}]; 

我无法理解两件事: 1.为什么ng-repeat子句中有$符号? <tr ng-repeat="user in $data"> 如果我拿走$,示例不起作用。

  1. 我不理解示例中的$ defer部分。我尝试阅读文档并查看有关延迟的内容并且没有得到它的示例。 怎么称呼:

    $defer.resolve(orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count()));
    

    }

  2. 影响范围数据参数,它是否与html上有美元符号的事实相关(正如我在上一个问题中提到的那样)?

1 个答案:

答案 0 :(得分:2)

  1. 表的数组保持元素的名称与之无关 实际对象暴露于$ scope。你可以改变发生的 DemoCtrl中的'data',你会看到它。 在 getData 方法中解析承诺后, $ data 是公开ng-table directive scope的对象。

  2. 我仍然遇到$ defers的问题。你的问题激励我填补知识空白:

    Promises in AngularJS and where to use them?

    AngularJS Promises - The Definitive Guide