在Angular 1.x中调用方法/触发对子组件的操作

时间:2017-02-07 11:27:30

标签: javascript angularjs angular-components

我正在尝试在Angular 1.6中使用component

  • 输入的单向数据绑定(例如< bindings而不是=
  • 输出事件(& bindings)。

从父组件调用子组件中的函数的最佳方法是什么?

在我的场景中,我的子组件将代表一个带有showModal()函数的模态对话框。我想为我想要编辑的项目传递一个ID(使用<输入绑定很容易),然后从父组件(项目列表)调用子组件的showModal()方法。

2 个答案:

答案 0 :(得分:1)

只需添加一个额外的绑定即可控制对话框的可见性:。

'visible': '<'

$onChanges(changes) {
  if(changes.visible && changes.visible.currentValue) {
   this.showDialog();
  }
}

答案 1 :(得分:0)

嘿,你可能已经知道但是让我指出一个最常见的事情,即从父母到孩子的广播事件最好。

如果你知道广播事件包含这样的数据

  $rootScope.$broadcast('resetDataRange',{id:1}); 

如果你想调用孩子的方法

,你应该写入你的父组件

在孩子中

      $rootScope.$on("resetIntraDataRange",function(data){

showModal(data.id); 

                });

这将在广播事件触发时调用,您将获得您想要的孩子。

100%工作解决方案