2016-04-16 3 views
0

Rivets.jsは、バインダーを定義しながらモデルのgetsetプロパティにadapter.readadapter.publish関数を使用することを提案しています。標準get/setの方法論と比較した場合、私はread/publishを使用するという実際の利点は見当たりませんでした。ドキュメントからRivets.jsアダプターは設定値を公開します。

抜粋:

adapter.read(model, keypath) 
adapter.publish(model, keypath, value) 

v0.6.10

read: function(obj, keypath) { 
    return obj[keypath]; 
}, 
publish: function(obj, keypath, value) { 
    return obj[keypath] = value; 
} 

からreadpublishのソースコード私は誰が読んで公開利点について知っている場合に提供することがありますかな?

答えて

0

私はついにこれを理解しました。答えはバインダーからgetとset機能を抽象化するのと同じくらい簡単です。リベットをそのまま使用している唯一のドット(。)バインダーを使用している場合、これは実際のメリットはありません。しかし、このアプローチは、カスタムアダプターを定義するときに非常に便利です。

私の場合のように、リベットバックボーンアダプタを使用するとよい例です。バインダーに渡されるモデルは、普通の古いJavaオブジェクトまたはバックボーンモデルである可能性があります。オブジェクトのプロパティの読み書きは、オブジェクトの型によって異なります。 publishread関数を使用することによって、このロジックはバインダー実装から抽象化されます。

関連する問題