2014-03-29 23 views
0

我寫了一些像這樣的代碼:
HTML:我如何知道AngularJs是否已經從模型中同步數據以查看?

<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代碼的第二行是執行時的清單是沒有結束。我頭腦中的第一件事是使用$超時來推遲,直到列表完成。但是,我不認爲這是一個好主意。

那麼,我該如何知道列表何時完成?

+1

通常你_want_知道它表明你正在接近從jQuery的角度問題,而不是解決它AngularJS路的努力的事實。你的問題的簡短答案是「你不知道」,但大多數時候你不需要 - 通常有更好的方法。所以:你試圖解決什麼問題? –

+0

@ pkozlowski.opensource嗨,我想用jQuery來做一些DOM操作。但是,似乎在np-repeat完成DOM結構之前執行了第二行jQuery js代碼,並且select引擎沒有任何結果。所以,我試圖解決的是讓DOM結構完成後執行jQuery代碼。 – sunaiwen

回答

1

您可以使用$last,這是一個特殊的屬性,如果重複元素在迭代器中是最後一個,則該屬性爲true。 例子:

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

活生生的例子:http://jsfiddle.net/choroshin/FnfQ8/

,如果你需要的時候NG-重複已經完成調用的事件,您可以按照這個計算器answerthis一個例子。

相關問題