在更新时发出表达式

时间:2017-09-08 09:08:07

标签: angular

我有一个表达式(模型),它是通过datepicker的属性绑定设置的。我希望使用EventEmitter将此表达式发送到父组件。听取表达式更新的最佳方法是什么?或者有更好的发射方式吗?

@Output() date: EventEmitter<string> = new EventEmitter<string>();
model: string;

谢谢!

2 个答案:

答案 0 :(得分:1)

使用getter和setter在模型值更改时执行任何操作。

@Output() date: EventEmitter<string> = new EventEmitter<string>();
_model: string;
get model(): string {
    return _model;
}
set model(value: string) {
    this._model = value;
    date.emit("WhateverYouWant");
}

答案 1 :(得分:0)

只要您想在EventEmitter上使用emit函数,就可以发出模型。一旦设置了要发出的模型的值,这可能是最相关的:

date.emit(model);

如果您想要收听此事件,只需在父组件模板中执行以下操作:

<my-child-component (date)="myFunction(event)"></my-child-component>

其中myFunction(event)是ts文件中的一个方法,您可以使用该方法访问从子组件发出的模型:

myFunction(model: string) {
  whatever you want
}