したがって、selectのオプションを設定するすべてのユーザーのリストがあります。Aureliaでオブジェクトの配列にselectをバインドし、IDで一致させる
<option repeat.for="user of userService.users">
${user.firstName} ${user.lastName}
</option>
また、受信したグループレコードには、ユーザーリストが添付されています。私はcheat sheatの指示に従い、モデルの単一のインデックスにバインドします。
<select value.bind="group.users[0]">
<option repeat.for="user of userService.users" model.bind="user">
${user.firstName} ${user.lastName}
</option>
</select>
ので、グループ内の着信ユーザがリスト内のユーザーのものと同一である:
{
id: 123,
firstName: 'Matt',
lastName: 'Davis'
}
しかし、グループがロードされ、ビューにバインドされたときに、正しいユーザーではありません選択から選択します。実際には、JavaScriptが参照平等を求めているので、これを期待しています。
理想的には、Aureliaは受信レコードが上記と同じであることを知りたいと思います。(a)いくつかの拡張子(フィルターかもしれません)で定義した等価性(b) (c)リスト内でそれを選択し、(d)その選択をレコードに戻して、そのレコードが今やレファレンス的に同期するようにする。
私は、アプリケーション全体でこれらの種類の選択肢がたくさんあるため、手動でこれを行うトリガに陥ることはありません。
(a)と(c)については、悲しいことではありますが、私は解決します。
https://github.com/aurelia/binding/issues/94 –