在隐藏/显示AngularJS指令时收到通知?

时间:2013-06-19 22:46:59

标签: angularjs angularjs-directive

我有一个自定义指令,必须在我的页面加载时隐藏,但是稍后如果用户点击它显示指令。但是,ng-hide放置在指令所在的dom节点之外的父节点上。该指令需要运行一些代码来放置它的组件,但它必须在显示父dom节点时运行它。如何通知dom已更改并且指令现在正在显示,以便我可以运行我的代码来计算大小?

如果我不隐藏指令,一切都很好。但是,如果我隐藏它。它无法正确呈现。

1 个答案:

答案 0 :(得分:2)

因此,虽然ng-showng-hide对于简单的DOM元素是可以的,但有时最好使用ng-if并基本上延迟渲染,直到满足show条件。在大多数情况下,这将避免在使用ng-hideng-show在后​​台渲染内容时可能发生的错误渲染。

ng-if中引入了

1.1.5,它基本上是简化的ng-switch。它的灵感来自于Angular-UI的{​​{1}}。