AngularJS $监视元素宽度的变化

前端之家收集整理的这篇文章主要介绍了AngularJS $监视元素宽度的变化前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
过去3天我一直在搜索互联网,试图找出当角度注意到div宽度变化时如何运行指令.
我一直看到我应该如何实现这个目标的相同例子,但是,它们对我不起作用,我不知道为什么.

我回到了原点.我想要做的就是:当div的宽度改变时,更新div的css属性(有一个指令作为属性).

我需要知道如何获得角度以检查属性何时发生变化.

这是我到目前为止:

.directive('stayPut',function () {
    var linker = function (scope,element,attrs) {

        scope.getElemWidth = function () {
            return element.width();
        };

        scope.$watch(scope.getElemWidth,function (newWidth,oldWidth) {
                var deltaWidth = newWidth - oldWidth;

                console.log(deltaWidth);

                element.css('top',(parseInt(element.css('top')) + 
                    deltaWidth)                   +
                    'px');
        },true);

        element.bind('resize',function () {
            scope.$apply();
        });
    };

    return {
        link: linker,restrict: 'A'
    }
});

我知道这里的问题是:

element.bind('resize',function () {
    scope.$apply();
});

我对它是如何工作有一个模糊的理解,但我不明白为什么它在这里不起作用.

解决方法

试试这个:

element.on('resize',function () {
    scope.$apply();
});

猜你在找的Angularjs相关文章