У меня есть директива с переменным единственного и одностороннего связывания. , но когда я изменяю эту переменную в контроллере директивы, он также обновляет родительскую область.Угловая директива 1.5 с односторонней привязкой обновляет родительскую область
Пример кода:
function someDirective() {
return {
restrict: 'E',
replace: true,
scope: {},
bindToController: {
parentVar: '<'
},
templateUrl: templateUrl,
controller: directiveController,
controllerAs: 'vm'
}
}
function directiveController($scope) {
var vm = this;
$scope.$watchCollection('vm.parentVar', doSomething);
function doSomething(newCollection) {
var some_object = {
property1: 1,
property2: 2
};
newCollection.unshift(some_object);
}
}
После того как я обновить переданную переменную в директиве, я вижу some_object
в других частях моего приложения.
спасибо.
Спасибо, это именно то, что я сделал. Является ли это предполагаемым поведением? – ND88
Да. '<' - односторонняя привязка гарантирует, что наблюдатель не будет установлен для этой переменной в родительской области. –