を含むProxy
カスタマイズされたクラスで使用したい. ES6以降でしか使えないので、代替実装はないのだろうか。ObservableList
Array
Proxy
私の要件は、オブザーバーが変更されると(通知されるのではなく)更新されることですObservableList
。これにより、オブザーバーは常に何らかのフィルタリングまたはマッピング方法でオブザーバブルと一致します。
var activities = new ObservableList(['reading', 'swimming']);
var sAct = activities.filter(function(v) {
return v[0] === 's';
});
// expect sAct.list to be ['swimming']
var meAct = activities.map(function(v) {
return 'I am ' + v;
});
// expect meAct.list to be ['I am reading', 'I am swimming']
activities.list.push('smiling');
console.log(sAct.list, meAct.list);
// expect sAct.list to be ['swimming', 'smiling']
// expect meAct.list to be ['I am reading', 'I am swimming', 'I am smiling']
activities.list[1] = 'snoopying';
console.log(sAct.list, meAct.list);
// expect sAct.list to be ['swimming', 'snoopying']
// expect meAct.list to be ['I am reading', 'I am snoopying', 'I am smiling']
プロキシを使用した私の実装は、https: //jsfiddle.net/ovilia/tLmbptr0/3/ で入手できます。