Javascript 如何知道AngularJs是否已将数据从模型同步到视图?
我写了一些这样的代码:Javascript 如何知道AngularJs是否已将数据从模型同步到视图?,javascript,angularjs,Javascript,Angularjs,我写了一些这样的代码: html: 结果是,当js代码中的第二行被执行时,列表还没有完成。我脑子里想的第一件事是使用$timeout来延迟列表完成。但是,我认为这不是一个好主意 那么,我如何知道列表何时完成呢?您可以使用,如果重复的元素是迭代器中的最后一个元素,则这是一个特殊属性。 示例: <li class="js-page-item" ng-repeat="page in pageList">{{page}} is last element:{{$last}}</li>
html: 结果是,当js代码中的第二行被执行时,列表还没有完成。我脑子里想的第一件事是使用$timeout来延迟列表完成。但是,我认为这不是一个好主意 那么,我如何知道列表何时完成呢?您可以使用,如果重复的元素是迭代器中的最后一个元素,则这是一个特殊属性。 示例:
<li class="js-page-item" ng-repeat="page in pageList">{{page}} is last element:{{$last}}</li>
{{page}}是最后一个元素:{{$last}
实例:
如果您需要在ng repeat完成时调用事件,可以按照本stackoverflow或one中的示例进行操作。使用repeatComplete指令:
通常,您想知道的事实表明,您是从jQuery的角度来解决问题,而不是试图以一种狭隘的方式来解决问题。对你的问题的简短回答是“你不知道”,但大多数时候你不需要知道——通常有更好的方法。那么:您试图解决的问题是什么?@pkozlowski.opensource嗨,我想使用jQuery做一些DOM操作。但是,第二行jqueryjs代码似乎是在np repeat完成DOM结构之前执行的,而select引擎却一无所获。因此,我试图解决的是在DOM结构完成后执行jQuery代码。
$scope.pageList= [1,2,3,4,5,6];
var items = $('.js-page-item');
console.log(items.length); // =>0
<li class="js-page-item" ng-repeat="page in pageList">{{page}} is last element:{{$last}}</li>