我想顯示消息時NG-重複集合爲空,即:如何避免角度ng-init?
<div ng-init="filteredArray=(array|filter:{...})">
<h1 ng-if="!filteredArray.length">Empty array</h1>
<table ng-if="filteredArray.length">
<tr ng-repeat="element in filteredArray">
<td>{{element}}</td>
</tr>
</table>
</div>
的問題是,NG-init將不能對源陣列的修改觀看。任何提示如何正確地做到這一點?
如果從指令更新filteredArray我不覺得在你的代碼的任何錯誤controller ... ng-init在第一次初始化後不會監視,這是事實。 – Ajay
問題是數組是異步填充的(即使用REST HTTP請求),所以當用戶刷新頁面時,它在初始渲染期間是空的,並且在一段時間後數據將會到達,但ng-init-ed filteredArray會保持空白。即像ng-let從http://stackoverflow.com/questions/17355827/how-to-write-directive-ng-let-that-binds-an-expression-to-a-name可以幫助,但我期待用於構建指令的標準方式。 –
那麼爲什麼ng-if不工作?我認爲你應該使用$ scope。$ apply(); HTTP請求完成後,AngularJS摘要循環被觸發,並且DOM元素將根據filteredArray進行更新。 – Ajay