Я искал и искал, пытался и пытался, но ничего не работает: у меня есть директива элемента с некоторыми атрибутами, например width = "width", и я изменяю эти атрибуты в контроллер на изменении размера события на окне, я установил привязку как «=», но если я смотрю «width», она работает один раз, но потом этого не происходит, я пробовал часы с истинным, попытался наблюдать на attrs, попытался изменить привязки, ничего не работает, никаких идей?Директива Angular.js не отвечает на изменения атрибутов
Может быть, я должен назвать дайджест или применить?
function Ctrl1($scope, $window) {
$scope.width = $window.innerWidth;
$scope.height = $window.innerHeight;
angular.element($window).bind('resize', function() {
$scope.width = $window.innerWidth;
$scope.height = $window.innerHeight;
console.log($scope.width, $scope.height);
});
$scope.name = 'angular';
$scope.counter = 0;
$scope.myClick = function() {
$scope.height++;
$scope.width++;
}
}
angular.module('myApp', []).directive('myElement', function() {
return {
restrict: 'E',
scope: {
'width': '=',
'width': '='
},
template: '<button ng-click="myOtherClick()">From Directive</button>',
link: function(scope, iElement, iAttrs) {
scope.myOtherClick = function() {
scope.width++;
scope.height++;
}
}
}
});
Нет кода, никакой помощи. –
@JBNizet: добавлена скрипка – user4478383
Я просто попробовал и, похоже, работал в Chrome. Следует отметить, что у вас есть два атрибута ширины в области действия в директиве. –