Angular 2 - 输入绑定到回调方法引用

时间:2017-03-15 11:26:44

标签: angular

我想要一个模态组件来运行一个通过数据绑定传递给它的方法。我的意图是当模态被解除时,它将调用一个方法,该方法是对父组件的方法的引用。 NG2的正确方法是什么?

例如,我想要以下结构:

父组件html具有:

<some-modal-tag [callbackMethod]="parentComponentMethod"><some-modal-tag/>

在回答组件的子模态中我想做这样的事情:

@Input: callbackMethod;
onDismiss(){
  run(callbackMethod,args[]);
}

2 个答案:

答案 0 :(得分:0)

您应该在模式中使用@Output()

@Output() dismiss = new EventEmitter();
private onDismiss(){
  // on close button click, or whatever closes this modal
  this.dismiss.emit('I'm dismissed.');
}

并在您的组件模板中:

<some-modal-tag (dismiss)="parentComponentMethod($event)"><some-modal-tag/>

答案 1 :(得分:0)

<some-modal-tag [callbackMethod]="parentComponentMethod()"><some-modal-tag/>

@Input: callbackMethod;
  onDismiss(){
  callbackMethod();
}

parentComponentMethod() {
 return () => {
  // Your code here
 }
}

*注意使用箭头函数来保留闭合范围,如果没有它,回调将不一致地工作