如何将数据传递给角度函数

时间:2018-04-23 05:56:12

标签: angular typescript2.0

HY,

当我将数据传递到<weather [coords]=coords></weather>,其中“接收”模板具有{{coords}}时,这是可以的。 但是,如果我想将数据传递给函数getForecast(coords: string): void并使用动态列表显示每周天气,但不仅仅是绑定我的坐标怎么办?我想要控制coords。你能救我吗?

天气成分:

 <ng-container *ngFor="let wfc of WeeklyForecast">
                <div>{{wfc.time}}</div>
                <div><img src="{{wfc.icon}}" /></div>
 </ng-container>

期望: 函数getForecast(coords: string): void获取coords并将结果“保存”到this.WeeklyForecast

1 个答案:

答案 0 :(得分:0)

您可以使用对组件的引用来调用该函数:

组件模板:

<weather></weather>

<强>脚本:

@ViewChild(WeatherComponent) weatherComponent;
this.weatherComponent.getForecast(coords: string);

修改

回答您关于替代方案的问题:您可以介入@Input功能并在那里调用您的功能。

伪代码(可能):

_coords;
@Input set coords(val) {
  this._coords = val;
  // Call your function
}
get coords() {
    return this._coords;
}