首先,我知道有一些方法可以通过使用以下方式检测屏幕大小的变化:
angular.element($window).on('resize', function() {...
但在我的情况下,由于我有toggle
点击,会发生文档高度的变化。所以它不是一个调整大小,不是解雇那个事件。
基本上我有一个div,可以通过ngClick
和ngIf
来切换,以显示/隐藏它的强大功能。在视图的另一个区域中,有一个由一个指令控制的div应用动态样式。例如:
<div class="toBeToggle">
<button ng-click="toggle = !toggle">Toogle</button>
<p ng-if="!toggle">content to be toggled...</p>
</div>
[... more content ...]
<div class="toBeDynamic">
<div my-directive>this div has dynamic styles</div>
[...]
</div>
所以我想要的是接收/检测myDirective
内的高度变化,但切换点击是在其他元素中执行的。
我在myDirective
内尝试了这个(作为绝望/最后一次尝试 - 因为观看并不是最佳的):
scope.$watch( '$window.innerHeight', function( new, old ) {
console.log( 'height change' );
});
但也没有奏效。什么都没有检测到高度变化。我怎么能这样做?