angular - 如何操作`@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 -->
}
}
解决方案
你不能询问 observable 的长度,因此你会得到一个错误。相反,您应该订阅然后将 if 语句移动到回调函数中,您可以在其中使用事件的值来完全按照您的意愿行事。
推荐阅读
- node.js - Express 和 node 向车把视图发送错误消息
- python - 最pythonic的方式来透视这个数据
- sql - 根据字符数插入称呼
- python - 如何增加opencv中高半径值的椭圆弧分辨率?
- matplotlib - 将散点图的形状更改为 Julia PyPlot 图例中的一条线
- excel - 如果另一个单元格为空白且 Excel 中已存在公式,则返回一个空白单元格
- avr - Teensy 2.0++ 上的模拟测量不正确
- r - 通过从 R 中的字符向量中引用元素来命名 rbind/list 中的元素
- reactjs - 如何使用strapi上传文件并获取URL?
- postgresql - PostgreSQL 获取有限制的嵌套行