Javascript 调用方法/触发Angular 1.x中的子组件上的操作
我试图利用Angular 1.6中的组件: 输入的单向数据绑定,例如Javascript 调用方法/触发Angular 1.x中的子组件上的操作,javascript,angularjs,angular-components,Javascript,Angularjs,Angular Components,我试图利用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的点。用户应该在父列表中选择一个项目,然后按下一个按钮,告诉子组件显示模态(如果有意义的话)。