iangularjs 模板_rxjs - Cannot find a differ supporting object ,Async pipe and ngFor problems in angula...

I have component that takes as input array of objects that should be filtered and displayed in the template.

@Input() inputAddons: Array;

addOns: Observable;

lblLeftAddons: Observable;

The definition in the class is above. ngOnInit(): void {

this.addOns = Observable.from(this.inputAddons);

this.lblLeftAddons = this.addOns.filter(function (x){

return x.pos == 'left' && x.type == 'label'}

);

this.lblLeftAddons.subscribe(x => console.log(x));

}

this is the code where i filter the array in the template i have this code *ngFor="#addon of lblLeftAddons | async"

but5' has changed after it was checked. Previous value: '2,4,6,8,10'. Current value: '[object Object]' in [observable | async in AppComponent@6:25] At first I used it in the constructor, but I change it out, because I thought that using the reit doesn't work. I get exception Cannot find a differ supporting object '[object Object]' in [lblLeftAddons | async in InputText@14:10]

Any ideas what i do wrong? answer 1 >>---Accepted---Accepted---Accepted---

I solved it with few modifications on my code. First i replaced lblLeftAddons: Observable;

with lblLeftAddons: Observable;

Observable must return array in order ngFor to work. And i modified addon observable to return array this.lblLeftAddons = this.addOns.filter(function (x){

return x.pos == 'left' && x.type == 'label'}

);

Also i added changeDetection: ChangeDetectionStrategy.OnPush in my Component definition

ngular throws error of Cannot find a differ supporting object . here is Plnkr throwing error http://plnkr.co/edit/qgrOmRlUcAZq1spGALEap=preview

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值