2017-09-08 20 views
2

我有一个表达式(模型),它是通过从日期选择器的属性绑定来设置的。这个表达式我想用EventEmitter发送给父组件。聆听表达更新的最佳方式是什么?还是有更好的方法来释放它?发送更新的表达

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

谢谢!

回答

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"); 
} 
+0

哦,是的,二传手完美的作品。谢谢 :) –

0

只要你想在EventEmitter上使用emit函数,就可以发射你的模型。这可能是最相关的,一旦你已经设置要发射模式的价值:

date.emit(model); 

然后,如果您想听听这个事件中,你只需做你的父组件模板如下:

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

其中myFunction的(事件)是在你的TS文件的方法,你可以用它来访问你的子组件发出的模式:

myFunction(model: string) { 
    whatever you want 
}