首页 > 解决方案 > 如何操作`@input` - 有条件地

问题描述

我通过@Input()- 我需要使用迭代器进行操作来获得价值,如何做到这一点?

这是我的代码:

@Input() events: Observable<Array<CalendarEvent>>; //required manipulation
@Input() currentEvent: ModelEvent;

clickedDate: Date;

constructor(private calendarService:CalendarService) { }

ngOnInit() {
    const headerHeight = $('.site-header').outerHeight();
    //moving content down to header
    $('body').css({paddingTop: headerHeight});

    this.calendarService.eventId.subscribe(event => {
        this.eventId = event.id;
        this.setViewDate();
    })

    // this.events.subscribe(data => console.log('data', data));

    if(this.events.length) { //how to do? //at present getting error
        <!-- do something -->
    }
}

标签: angular

解决方案


你不能询问 observable 的长度,因此你会得到一个错误。相反,您应该订阅然后将 if 语句移动到回调函数中,您可以在其中使用事件的值来完全按照您的意愿行事。


推荐阅读