2017-03-07 3 views
0

ListViewとテンプレートで作業バインディングを作成できません。ネイティブスクリプトリストのテンプレートバインディングが機能しない

<ListView #userListView [items]="usersViewList" (itemTap)="onItemTap($event)"> 
    <template let-user="item" let-i="index"> 
     <GridLayout columns="auto"> 
      <Label [text]="user.name" col="0"></Label> 
     </GridLayout> 
    </template> 
</ListView> 

配達時間user.nameは正しく割り当てられますが、後で私が電話すると、後で。

user.name = "other name"; 

何も起こりません。

バインディングコンテキストは、usersViewListの項目に正しく設定されています。しかし、これまでに個々のリスト項目に変更は反映されません。

ありがとうございました!

答えて

0

あなたは(コンポーネントファイルの後ろにコード内で推測?) "以降の" user.nameを呼び出すことはできません。 you8ができる引数を提供します あなたがタップされたアイテムのインデックスを使用することができ、その後、あなたが

usersViewList[index].name 

のようなあなたのアイテムの配列からそれをつかむことができ、タップの項目にアクセスする必要がある場合はあなたが持ってもitemTaphere

のように、タップされたインデックスに直接アクセスしてください。このケースでは、コードを正確に同じケースを示すサンプルと比較するのがベストプラクティスです。 Hereあなたは1つを見つけることができます。同じアプリケーションの多くの例がin this sectionと掲載されています。

+0

つまり、バインディングコンテキストへのバインディングはリストビュー項目では機能していません。 – Ondrej

関連する問題