Angular 1.5,从父控制器调用组件中的函数

2024-03-31

Angular 1.5 组件可以轻松地从组件创建对父级的回调。有没有办法可以从父控制器中的函数调用组件中的函数?

假设我的组件称为任务运行器,下面是它在父容器中的 HTML。

<task-runner taskcategogyid=5></task-runner>

 <button type="button" ng-click="doSomethingInParent()">ParentToChildButton</button>

plunkr 是here http://plnkr.co/edit/CtQ33KabRgQYKha1hr7m?p=preview。我希望当单击 ParentToChildButton 时,函数 doSomethingInParent() 调用组件中的remotefunc。


几种不同的方式:

  1. 通过双向绑定将对象作为属性传递(scope:{myattr:'='}) 到任务项标头指令,然后该指令可以添加一个函数以供父控制器调用。
  2. 设置具有单向绑定的属性 (scope:{myattr:'@'})然后attrs.$observe对其进行更改以触发操作,或双向绑定(scope:{myattr:'='}) 进而$scope.$watch对其进行更改以触发操作。
  3. 让指令引发一个事件(scope:{raiseLoaded:'&onLoaded'}),它传递一个代表远程控制对象的对象,该对象上有一个方法可以触发您想要的操作。要引发事件,您可以调用类似的内容raiseLoaded({remoteControl: remoteControlObj})在指令中,然后要监听事件,您可以使用<task-item-header on-loaded="setRemote(remoteControl)">假设你有一个setRemote()父控制器上的方法。

Update我刚刚意识到你的问题是针对较新版本的 AngularJS,所以我不确定我的答案是否仍然适用。我暂时将其留在这里,但如果您发现它没有帮助,我可以将其删除。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Angular 1.5,从父控制器调用组件中的函数 的相关文章

随机推荐

  • 如何构建一个在用作 constexpr(如断言)时行为不同的自定义宏?

    从 C 14 开始 断言宏可以在函数中使用 即使它们被定义为 constexpr 我知道这与它的计算结果为 true 有关 但我无法弄清楚实际的代码是什么样子 具体来说 如何构建一个宏 该宏在运行时评估的 constexpr 函数中运行时打
  • PL/SQL 逗号分隔列表;删除重复项并放入数组中

    我有一个以逗号分隔的列表作为 PL SQL 过程中的字符串 我需要 删除重复项 将列表放入数组中 我发现了多种方法可以做到其中之一 但不能同时做到两者 有什么帮助吗 有一个众所周知的 SQL 技巧可以将逗号分隔的列表转换为行 只需使用这个技
  • 限制 .map 循环中的项目

    我想问一下如何限制我的 map例如 仅循环到 5 个项目 因为当前当我访问 api 时 它返回 20 个项目 但我只想显示 5 个 我发现大多数情况只是循环整个对象数组 而不是将其限制为多个项目 注意 我无法控制 API 因为我只是使用 m
  • libtool:i686-pc-mingw32 共享中不允许未定义的符号

    我正在使用自动工具作为我的库的构建系统 最近库被移植到Windows 尽管我遇到了一个奇怪的错误 但库编译和链接成功 配置和make后只有静态库 除了警告之外 一切看起来都很好libtool libtool undefined symbol
  • 在 C# 中,有没有办法在运行时确定类的成员?

    假设我有一个名为 foo 的类 它有 3 个公共成员 foo1 foo2 和 foo3 现在假设我正在编写一个函数 它将 foo 类的实例作为参数 但是当我编写这个函数时 我不知道它有哪些公共成员 有没有办法让我在运行时确定它具有公共成员
  • React.js 通过 Router 传递参数,而不是在 URL 中

    您好 我想从一个页面移动到另一页面并传递参数search and type 如果 URL 中没有这些参数 我可以使用 React Router 来实现此目的吗 我正在看这个https github com rackt react route
  • 如何更改应用栏颤动上的文本和图标的颜色

    我在更改颤动应用栏上的文本和图标小部件的颜色时遇到问题 我已经在材料应用程序中尝试过主题 但它不起作用 这是在哪里工作 title Text Profile style TextStyle color Colors black 但我想将其应
  • 在窗口中的标题栏内/上方添加用户控件

    在 WPF 中 我想在窗口的标题栏中 上方添加一个 userControl 如下所示 红色部分是UserControl 绿色部分是标题栏 现在我希望能得到你的一些建议 需要扩展Window类或者只是自定义Window的样式 最好提供源码 您
  • MVC 2 AntiForgeryToken - 为什么对称加密 + IPrinciple?

    我们最近将解决方案更新为 MVC 2 这更新了AntiForgeryToken作品 不幸的是 这不再适合我们的 AJAX 框架 问题是 MVC 2 现在使用对称加密来编码有关用户的一些属性 包括用户的Name财产 来自IPrincipal
  • 我如何消除 glu.h 中的这些编译器错误?

    尝试使用这个tutorial http www opengl tutorial org beginners tutorials 在带有 netbeans 和 cygwin 4 8 1 的 64 位 Windows 8 上 我收到很多这样的错
  • 如何解决 xcode 5 中的苹果 LLVM 5.0 错误?

    我在模拟器和设备上运行我的应用程序没有任何问题 突然我收到这个错误 fatal error file Applications Xcode app Contents Developer Platforms iPhoneOS platform
  • SVN加密密码存储

    我在 Ubuntu 机器上安装了 SVN 但我无法理解某些事情 每当我从终端检查某些内容时 我都会收到有关保存未加密密码的错误 ATTENTION Your password for authentication realm lt gt S
  • 在 macOS 上的 CLion 中导入 Bazel 项目失败

    我在 CLion 上安装了 Bazel 插件 并尝试导入新的 Bazel C 项目 但我不断遇到这些错误 tensorflow gpu 1 8 0lft1 cp27 cp27mu linux x86 64 whl 在此平台上不受支持的轮子
  • Selenium 预期条件 - 可以使用“或”吗?

    我将 Selenium 2 WebDriver 与 Python API 一起使用 如下所示 from selenium webdriver support import expected conditions as EC code tha
  • 波斯语 @font-face 在 Chrome 中不起作用,是否有 Bug?

    不确定我的标题是 Chrome 中的错误还是我的 CSS 有问题 这是我正在谈论的内容的演示 演示链接 http 3p3r com farakhan 问题是我在我的网站中使用自定义波斯语字体 名为BMitra 它在公共领域是完全免费的 并且
  • 片段在从其他片段返回时重新创建

    我在片段方面面临问题 在我的场景中 有两个 Fragment 与 FragmentActivity 关联 在FragmentActivity中 有一个容器布局 Frame Layout 其中所有的fragment都会被替换 public v
  • OWIN OAuth 2.0 - 不记名令牌永不过期

    我正在使用以下 OAuth 提供程序和选项 UserManagerFactory gt new UserManager
  • “语句在命名空间中无效”错误消息

    我有一个问题 出于某种原因 视觉工作室说有一个错误 它显示 语句在命名空间中无效 我不知道如何解决它 这就是我的编码的样子 前两行有一条蓝色波浪线 以 Private Sub 开头 Private Sub btnPlay Click ByV
  • Java Azure 请求签名

    我正在使用最新的 Azure SDK 存储模拟器 我正在尝试向我的 blob 签署请求 当我运行下面的代码时 我收到身份验证错误 尽管我多次检查代码是否符合 Azure SDK blob 访问规范 但我无法弄清楚出了什么问题 这是控制台输出
  • Angular 1.5,从父控制器调用组件中的函数

    Angular 1 5 组件可以轻松地从组件创建对父级的回调 有没有办法可以从父控制器中的函数调用组件中的函数 假设我的组件称为任务运行器 下面是它在父容器中的 HTML