Cha*_*aur 16 javascript jquery angularjs angularjs-directive angularjs-scope
在Angular中,我需要在加载了某个类的元素后调用一个函数.通过ng-if ='expr'控制元素的显示.$ scope.expr的值在某个ajax调用响应后设置.
现在,如果我尝试将$ watch放在expr上,或者使用$ evalAsync.它不起作用.可能是因为这些事件是在模板部分实际运行之前运行的.
下面是一个示例代码:http://jsbin.com/kuyas/1/edit 这里我需要一个关于ng的回调类型 - 如果在模板渲染后执行它.
Cha*_*aur 17
问题是无法知道是否使用摘要循环完成了角度,确保所有元素都已渲染.
要解决这个问题,有两种选择
setTimeOut(function(){ ... }, 0);因为浏览器默认将所有事件保存在队列中,因此,当摘要循环运行时,你的回调函数将进入队列并在摘要循环结束后立即执行.在我看来,最简单的解决方案是执行以下操作:
<div ng-if="sectionActivated">
<div ng-init="callBack()"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
只有在ng-if呈现受影响的内容时才会调用您的回调。
| 归档时间: |
|
| 查看次数: |
16098 次 |
| 最近记录: |