【问题标题】:Accessing controller from directive从指令访问控制器
【发布时间】:2016-05-24 17:38:35
【问题描述】:

我创建了一个自定义指令,在当前视图中显示指令模板:

<div class="upper-outfits-layer" ng-show="outfitExpanded">
    <expanded-outfit outfit="outfits[currentOutfit]"></expanded-outfit>
</div>

这将显示一个 html 模板。放置此指令的视图具有自己的控制器。我需要从此指令访问视图范围变量,反之亦然。

是否可以通过自定义指令访问单独的控制器?

【问题讨论】:

    标签: angularjs model-view-controller angularjs-directive


    【解决方案1】:
    1. 不要在指令中使用隔离范围。您可以直接访问您的视图范围。
    2. (在隔离范围的情况下)传递指令属性中的变量。您的指令可以通过您的隔离范围访问它们。
    3. (在隔离范围的情况下)在指令中使用 scope.$parent 来访问视图范围。

    【讨论】:

    • 我更同意你在这里的第二个要点,因为指令应该是一个独立的组件,如果它需要其他任何东西,依赖它的视图可以提供它。
    【解决方案2】:

    如果您不使用 scope:{} 隔离指令的范围,您应该能够访问父控制器的变量。如果问题仍然存在,也许将指令代码添加到您的问题中......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-14
      • 1970-01-01
      • 1970-01-01
      • 2015-06-28
      • 2014-01-03
      • 1970-01-01
      • 2014-11-16
      • 2017-02-06
      相关资源
      最近更新 更多