我正在修復一些遺留 Angular 1.5 代碼的錯誤。
我有一個這樣的模板
<div id="container" ng-if="ctrl.show_container">
<div id="child"></div>
</div>
我需要操縱div#child. 我正在使用 $element.find() 來獲取子 div。不幸的是,代碼似乎在模板/DOM 完成渲染之前運行——由于容器上的條件渲染,它沒有找到任何東西。如果我洗掉ng-if,它能夠按預期找到元素。
有什么方法可以在所有條件渲染完成之前執行我的 DOM 操作?
謝謝
uj5u.com熱心網友回復:
如果是簡單的情況,您只需執行以下操作:
ctrl.show_container = true;
$timeout(() => $element.find(...))
如果這還不夠,您最好在該#child元素上添加一些指令。
uj5u.com熱心網友回復:
scope.$watch('$viewContentLoaded', functionToManipulateDom)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/430381.html
標籤:angularjs angularjs 指令 angularjs-范围 角度ng-if
