检测AngularJs指令中的高度变化(不调整大小)

时间:2017-03-15 14:52:03

标签: angularjs angularjs-directive

首先,我知道有一些方法可以通过使用以下方式检测屏幕大小的变化:

angular.element($window).on('resize', function() {...

但在我的情况下,由于我有toggle点击,会发生文档高度的变化。所以它不是一个调整大小,不是解雇那个事件。

基本上我有一个div,可以通过ngClickngIf来切换,以显示/隐藏它的强大功能。在视图的另一个区域中,有一个由一个指令控制的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' );
});

但也没有奏效。什么都没有检测到高度变化。我怎么能这样做?

0 个答案:

没有答案