angularjs限制指令范围

时间:2015-11-19 13:20:34

标签: angularjs

我有三个控制器,一个父控制器和两个嵌套控制器,它们是DOM中的兄弟节点。所有这些都包含一个名为" customization"的属性。这两个嵌套控制器使用一个指令来创建/绑定一个DOM元素到"自定义"属性。我的问题是,在一个嵌套控制器中更改绑定DOM属性的值正在改变其兄弟嵌套控制器中的值。

我假设它与指令的范围有关。我希望将指令的范围限制在单个控制器中,以免影响父控制器或任何兄弟节点。

请问任何建议?

1 个答案:

答案 0 :(得分:0)

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

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

或者您可以为指令创建自己的范围。

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