angular - Angular-Observable 可以像属性一样工作吗?
问题描述
我试图为购物车做一个柜台,我做了一个方法返回一个可观察的(我的购物车的项目编号)。属性以这种方式获取该方法的值
.ts 代码
import { Component, OnInit } from '@angular/core';
import { Observable, of } from 'rxjs';
export class ToolbarComponent implements OnInit {
public num_item:number= this.NumItemsCart();
NumItemsCart():Observable<number>{
let cadena_items = '';
let array_temp = [];
let num_items=0;
cadena_items = localStorage.getItem('ecmm_list_shopcart');
array_temp= cadena_items.split(',')
num_items= array_temp.length -1
return of(num_items)
}
}
html代码
<div *ngIf="num_item > 0" class="counter_items_cart">{{num_item}}</div>
但是我得到了这个建议错误'Type 'Observable' is not assignable to type 'number' in
public num_item:number= this.NumItemsCart();'
解决方案
您可以在模板中使用异步管道来解开您的 Observable 以像使用属性一样使用它。
<div *ngIf="(num_item | async) as noOfItems" class="counter_items_cart">{{noOfItems}}</div>
推荐阅读
- android - 清单合并失败:属性 application@appComponentFactory 错误。请检查我的依赖项并找到错误
- tsql - 递归运行余额(Encash 奖励优惠)
- python-3.x - 无法找到 scipy 的源代码
- powerbi - Power BI - 用于计算前 31 天销售额的 DAX 度量 - 'DATEADD' 期望连续选择
- python - 无法跳到 for 循环语句中的下一次迭代
- python - cffi.error.FFIError:函数的多个声明
- android - Android 数据文件如何映射到我使用 adb shell 访问的内容?
- python - 使用 conda build 时使用正确的环境变量
- php - 用电子 VCRUNTIME140.dll 错误捆绑 PHP7
- java - Eclipse RCP e4 以编程方式切换工作区