操纵有条件渲染的元素



我正在修复一些遗留的Angular 1.5代码上的一个错误。

我有一个类似的模板

<div id="container" ng-if="ctrl.show_container">
<div id="child"></div>
</div>

我需要操作div#child。我使用$element.find((来获取子div。不幸的是,代码似乎在template/DOM完成渲染之前就运行了——由于容器上的条件渲染,它找不到任何东西。如果我移除ng-if,它就能够按预期找到元素。

有没有什么方法可以执行我的DOM操作,直到完成所有的条件呈现?

谢谢

如果你只做简单的情况:

ctrl.show_container = true;
$timeout(() => $element.find(...))

如果这还不够,您最好在#child元素上添加一些指令。

scope.$watch('$viewContentLoaded', functionToManipulateDom)

最新更新