我如何知道AngularJs是否已将数据从模型同步到视图?

时间:2014-03-29 16:03:01

标签: javascript angularjs

我写了一些这样的代码:
HTML:

<li class="js-page-item" ng-repeat="page in pageList">{{page}}</li>

js:

$scope.pageList= [1,2,3,4,5,6];  
var items = $('.js-page-item');  
console.log(items.length); // =>0  

事实证明,当执行js代码中的第二行时,列表尚未完成。我头脑中的第一件事是使用$ timeout推迟到列表完成之后。但是,我认为这不是一个好主意。

那么,我怎么知道列表何时完成?

2 个答案:

答案 0 :(得分:1)

你可以使用$last,如果重复的元素在迭代器中是最后一个,它是一个特殊的属性。 示例:

<li class="js-page-item" ng-repeat="page in pageList">{{page}} is last element:{{$last}}</li>

实例:http://jsfiddle.net/choroshin/FnfQ8/

如果您需要在ng-repeat完成时调用事件,则可以按照此stackoverflow answerthis中的示例进行操作。

答案 1 :(得分:0)