我尝试使用组件的输出" event-settings"作为组件的输入" events-list"我怎么能解决这个问题?
<ion-content padding>
<button ion-button type="button" class="showFilterBtn" (click)="isCollapsed = !isCollapsed"
[attr.aria-expanded]="!isCollapsed" >
Show Filter
</button>
<event-settings [eventName]="false" [accompaniment]="false" [hidden]="isCollapsed" (searchedEvents)="getSearchedEvents($event)"></event-settings>
<events-list *ngIf="this.events!= 'undefined'" [events]="this.events"></events-list>
</ion-content>
我的输出是一个名为seachEvents的Eventemitter
public searchEvents(){
let startdatetime= this.start.split("T");
let startdate = startdatetime[0].split("Z")[0];
let starttime = startdatetime[1].split("Z")[0];
let enddatetime = this.end.split("T");
let enddate = enddatetime[0].split("Z")[0];
let endtime = enddatetime[1].split("Z")[0];
this.EventService.getEventsByFilter(this.userId,this.age,startdate,enddate,this.musicDirection,
this.maxPerson,this.country,this.federaleState,this.city)
.forEach((events) => {
this.searchedEvents.emit(events);
});
}
和this.events(observable)是来自我的输出
的数据答案 0 :(得分:0)
您需要使用rxjs observable或subject。另一种选择是使用服务,详见答案https://stackoverflow.com/a/35878524/3211852
答案 1 :(得分:0)
首先在输入变量前面删除“this”,它可以修复它。
如果没有,那么最简单的解决方案就是RxJs。首先我想你设置getSearchEvents的函数改变了事件变量? (如果可能的话,添加你的代码)
因此,当您发出事件时,您可以更改变量事件,并使用setter每次都知道事件列表:
event = new Event();
@Input() set eventChange(event) {
this.event = event;
}
在你的HTML中用[eventChange]替换[event],你就完成了;)