2016-11-23 164 views
0

在我的TS我:角2 - 數據綁定不工作

private accountTypes = [ 
    { accountTypeId: 1, 
     displayName: "Individual - Taxable", 
     isTaxable: 1, 
     subcategory: "Taxable" }, 
    { }, 
    { } 
    ... more objs 
] 

,我有這在我的HTML:

<div *ngFor="let question of section?.questions"> 
    <select class="q-select" 
      [(ngModel)]="acttypetest" // BIND HERE 
      name="answerForQuestion{{ question?.questionId }}"> 
     <optgroup label="{{subCat?.subCat}}" 
      *ngFor="let subCat of accountTypes; let i = index;"> 
      <option *ngFor="let acctType of accountTypes" 
       [ngValue]="acctType"> 
        {{ acctType?.displayName }} 
      </option> 
     </optgroup> 
    </select> 
</div> 

當我嘗試的第一個元素綁定在我accountTypes陣列到acttypetest這樣它正常工作:

setSelectedAcctType() { 
    this.acttypetest = this.accountTypes[0]; 
} 

但是,當我嘗試綁定像這樣(用邊條[R對象正是accountTypes數組的第一個元素相匹配,它不工作:

setSelectedAcctType() { 
    this.acttypetest = { 
     accountTypeId: 1, 
     displayName: "Individual - Taxable", 
     isTaxable: 1, 
     subcategory: "Taxable" 
    }; 
} 

爲什麼犯規第二種方式工作,如果它是完全相同的格式的對象爲在我accountTypes數組的第一個元素?

+2

因爲具有精確外觀的2個蘋果仍然算作2個不同的蘋果。 –

+1

即使它們在模式或數值方面匹配,它們也不是指內存中的同一個對象。 – lbrahim

回答

0

綁定一個私有變量我認爲這是什麼問題。儘量不要私人。

accountTypes = [ 
    { accountTypeId: 1, 
     displayName: "Individual - Taxable", 
     isTaxable: 1, 
     subcategory: "Taxable" }, 
    { }, 
    { } 
    ... more objs 
]