0
我有三個控制器,一個父節點和兩個嵌套控制器,它們是DOM中的兄弟節點。全部包含一個名爲「定製」的屬性。兩個嵌套控制器使用一個指令來創建/綁定DOM元素到「定製」屬性。我的問題是,在一個嵌套控制器中對綁定DOM屬性值的更改正在改變它的兄弟嵌套控制器中的值。angularjs限制指令範圍
我假設它與指令的範圍有關。我希望將指令的範圍限制在單獨的控制器中,以免影響父控制器或任何兄弟。
有什麼建議嗎?
我有三個控制器,一個父節點和兩個嵌套控制器,它們是DOM中的兄弟節點。全部包含一個名爲「定製」的屬性。兩個嵌套控制器使用一個指令來創建/綁定DOM元素到「定製」屬性。我的問題是,在一個嵌套控制器中對綁定DOM屬性值的更改正在改變它的兄弟嵌套控制器中的值。angularjs限制指令範圍
我假設它與指令的範圍有關。我希望將指令的範圍限制在單獨的控制器中,以免影響父控制器或任何兄弟。
有什麼建議嗎?
您可以在您的指令中指定控制器。
app.directive('directive', function() {
return {
controller: 'CtrlName'
};
});
或者您可以爲指令創建自己的範圍。
app.directive('directive', function() {
return {
scope: {},
controller: ['$scope', function($scope) {
$scope.customisation = ...
}]
};
})
嗨,感謝您的反饋意見。如果我兩次使用相同的指令會怎麼樣?一旦進入每個嵌套控制器的範圍。可能嗎? –