【发布时间】:2017-07-09 16:46:12
【问题描述】:
我正在运行一个函数来获取类别列表,并为每个类别获取一个 id 并运行另一个函数来获取我已获得 id 的特定类别中的“链接”数量。
为此,我有以下代码:
ngOnInit(): void
{
this.categories = this.categoryService.getCategories();
const example = this.categories.mergeMap((categor) => categor.map((myCateg) =>
{
this.categoryService.countCategoryLinks(myCateg.id)
.map(numlinks => Object.assign(myCateg,{numLinks: numlinks}))
.subscribe(valeur => console.log(valeur));
return myCateg.id
}));
example.subscribe(val => console.log("valeur2: "+val));
}
getCategories() 在哪里:
getCategories(): Observable<any>
{
return this.category.find({where: {clientId: this.userApi.getCurrentId()}})
};
countCategoryLinks() 是:
countCategoryLinks(id: number): Observable<any>
{
return this.category.countLinks(id)
};
出现,如下截图所示:
numlinks 是一个对象。当然这是由 Object.assign 完成的。
有没有办法像 categoryName ot clientId 而不是 Object 那样插入“计数”?
我的目标是能够显示模板中的所有值:
<tr *ngFor="let category of categories | async; let id = index">
<td>
<label class="mdl-checkbox mdl-js-checkbox mdl-js-ripple-effect mdl-data-table__select"
for="row[3]">
<input type="checkbox" id="row[3]" class="mdl-checkbox__input"/>
</label>
</td>
<td class="mdl-data-table__cell--non-numeric"><a [routerLink]="['/category/links']"></a>{{
category.categoryName }}
</td>
<td class="mdl-data-table__cell--non-numeric">{{category.numLinks}}</td>
<td #category.id><i (click)="deleteCategory(id)" class="material-icons">delete</i></td>
</tr>
【问题讨论】:
-
你能以你想要的方式给出一个输出样本吗?
-
“this.category.countLinks(id)”是做什么的?
-
我已经添加了我的模板代码。
-
this.category.countLinks(id) 计算我使用 getCategories() 获得的特定 id 的链接数。 id是控制台中显示的Category的Id字段。
标签: javascript angular typescript ecmascript-6 observable