我有一个指令,在我的链接函数中的元素属性上有一个观察者。仅在第一页加载时触发观察者。
问题是$摘要周期没有被触发,因为它不是一个角度动作,所以我必须使用$ interval手动触发它而没有延迟(即不推荐使用$ digest()的无限执行)。
我没有使用手动$ digest找到解决方案。
有我的指示:
angular.module('Mymodule').directive('myDirective', function ($timeout) {
return {
restrict: 'A',
link: function (scope, element) {
$interval(function () {
if (!scope.$$phase) {
scope.$digest();
}
});
$timeout(function () {
scope.$watch(function () {
return element.outerWidth(true);
}, function (newValue, oldValue) {
console.log("width changed", newValue)
});
}, 0, false)
}
}
});