2016-09-17 79 views
2

你好,我剛剛跑到一個問題,當我嘗試編輯我有一個下拉列表,並沒有顯示任何值,好像它不想綁定...這裏是我的代碼和結果:爲什麼選擇選項的值不綁定時編輯實體角2

查看:

<select class="form-control" id="selectedCategory" 
    required 
    [(ngModel)]="subCategory.category" name="selectedCategory"> 
    <option *ngFor="let category of categories" [ngValue]="category">{{category.name}}</option> 
</select>` 

這裏是我的實體:

category.ts類:

import { ICategory } from "../interfaces/icategory"; 

export class Category implements ICategory { 
    id: number; 
    name: string; 
    image: string; 
} 

subcagory.ts類:

import { ISubCategory } from "../interfaces/isubcategory"; 
import { ICategory } from "../interfaces/icategory"; 

export class SubCategory implements ISubCategory { 
    id: number; 
    name: string; 
    image: string; 
    category: ICategory; 
} 

這裏是結果我可以在開發者控制檯通過調試得到:

enter image description here

,如果我去的形式存在空DDL,但有是所有類別的值...

enter image description here

有沒有人知道我出錯的地方? :) 謝謝你的幫助。

回答

1

[(ngModel)]="subCategory.category"是指有可能成爲同一實例<option *ngFor="let category of categories"

使用的值,如果它只是具有相同內容的對象,這是不是足夠多。什麼是對象身份,而不是內容。

+0

但它不一樣?這些字段是相同的... – Marius

+0

不確定你的意思。如果不一樣,那麼默認情況下就沒有辦法讓它被選中。您可以使用默認值通過比較其「屬性」在「類別」中查找正確的實例,然後將找到的實例設置爲默認值。這樣可以確保它是完全相同的實例。 –