gpt4 book ai didi

angularjs - AngularJS $ watch改变元素的宽度

转载 作者:行者123 更新时间:2023-12-04 16:18:03 29 4
gpt4 key购买 nike

在过去的三天里,我一直在搜寻互联网,试图弄清楚当angular注意到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 - AngularJS $ watch改变元素的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31634670/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com