【问题标题】:Call a function in a directive with isolate scope在具有隔离范围的指令中调用函数
【发布时间】:2015-03-07 18:41:04
【问题描述】:

一位同事创建了一个具有隔离作用域的指令和一个内部控制器,该控制器上有几个函数。只需使用$scope.myFunction() 或从另一个函数this.myFunction() 内部就可以从其他指令中调用这些函数。我找不到任何绑定。

我不明白它是如何工作的,我找不到任何关于它的信息,也无法让这种技术自己发挥作用。

【问题讨论】:

  • 添加一些说明性代码。谁在打电话给谁以及如何打电话
  • 虽然你说你不能让它工作,但如果你能发布一个最小示例的代码,回答你的问题会更容易。
  • 为什么不问问同事?
  • 这可能会解决问题:egghead.io/lessons/…

标签: angularjs angularjs-directive angularjs-scope


【解决方案1】:

答案是,我被误导了。他正在从孩子那里调用父函数。在 Angular 中,您不能在具有隔离作用域的子指令上调用函数,除非您将它们公开为一种 api。

在父作用域上创建一个对象: $scope.childDirective = {};

在子作用域上: 访问者:“=”

将它们绑定在子指令属性列表中: ""

然后将函数添加到指令中的访问器中,它们可能会被父级调用。

这是我学习如何做到这一点的地方: https://lennilobel.wordpress.com/tag/calling-directive-from-controller/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-21
    • 1970-01-01
    • 2016-05-03
    • 2013-09-04
    • 2013-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多