2016-11-23 10 views
0

を働いていないバインディング私が持っている、私は私のaccountTypes配列の最初の要素をバインドしようとすると角度2つのデータは私のTSで

<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> 

このようなacttypetestにそれが正常に動作します:

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

しかし、私はのレギュレーションで(このようにそれをバインドしようが正確accountTypes配列の最初の要素と一致していることをRのオブジェクトは、それが仕事をdoesntの:なぜ第二の方法の仕事doesntの

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 
] 
関連する問題