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

Javascript 调用方法/触发Angular 1.x中的子组件上的操作,javascript,angularjs,angular-components,Javascript,Angularjs,Angular Components,我试图利用Angular 1.6中的组件: 输入的单向数据绑定,例如

我试图利用Angular 1.6中的组件:

输入的单向数据绑定,例如
在我的场景中,我的子组件将用showmodel函数表示一个模态对话框。我想为我想编辑的项目传递一个ID,我想用一个很容易编辑。嘿,也许你已经知道了,但让我指出一个最常见的事情,那就是从家长向孩子广播事件。这是最有效的

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

  $rootScope.$broadcast('resetDataRange',{id:1}); 
当您想要调用子组件的方法时,您应该将它写入父组件中

在儿童时期

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

showModal(data.id); 

                });
这将在广播事件触发时调用,您将得到您想要的内容


100%工作解决方案

只需添加一个附加绑定来控制对话框的可见性:

'visible': '<'

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

我不明白这个问题。子组件知道何时传递ID,因此它可以调用showmodel本身。正如您所说,我可以通过使用子组件的$onChanges钩子来判断何时在父组件中选择了项,传递下来的ID将改变。但这不是我想要触发showModal的点。用户应该在父列表中选择一个项目,然后按下一个按钮,告诉子组件显示模态(如果有意义的话)。