我正在運行一個函數來獲取類別列表和每個類別,獲取一個id並運行另一個函數來獲取該特定類別中'鏈接'的數量。如何避免使用Object.assign?
爲此,我有以下代碼:
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完成的。
有沒有辦法讓「count」插入如categoryName或者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)」呢? – Bigdragon
我已添加我的模板代碼。 –