2015-11-19 233 views
0

我有三個控制器,一個父節點和兩個嵌套控制器,它們是DOM中的兄弟節點。全部包含一個名爲「定製」的屬性。兩個嵌套控制器使用一個指令來創建/綁定DOM元素到「定製」屬性。我的問題是,在一個嵌套控制器中對綁定DOM屬性值的更改正在改變它的兄弟嵌套控制器中的值。angularjs限制指令範圍

我假設它與指令的範圍有關。我希望將指令的範圍限制在單獨的控制器中,以免影響父控制器或任何兄弟。

有什麼建議嗎?

回答

0

您可以在您的指令中指定控制器。

app.directive('directive', function() { 
    return { 
    controller: 'CtrlName' 
    }; 
}); 

或者您可以爲指令創建自己的範圍。

app.directive('directive', function() { 
    return { 
    scope: {}, 
    controller: ['$scope', function($scope) { 
     $scope.customisation = ... 
    }] 
    }; 
}) 
+0

嗨,感謝您的反饋意見。如果我兩次使用相同的指令會怎麼樣?一旦進入每個嵌套控制器的範圍。可能嗎? –