Qooxdoo には、データバインディングを行う興味深い方法があります。
this.bind('selection[0].name', textfield, 'value')
これにより、次のいずれかが発生したときに、テキスト フィールドの値が最初に選択されたアイテムの名前で更新されます。
- this.selection は新しい配列に設定されます。
- this.selection は、最初の項目が変更されるように変更されます。
- 選択したアイテムの name プロパティが変更されます。
つまり、selection プロパティ、配列自体、およびアイテムの両方の変更を監視し、それに伴うすべてのリスナー管理を実行します。selection[0] が変更されると、以前に選択されたアイテムの監視を停止します。
おそらくObject.observeまたはwatch.jsに基づいて、同じことを行うライブラリはありますか?