私は、ユーザーがテンプレート エンジンの代わりに js をリベットで留める Spine アプリに取り組んでいます。これまでのところ、リベット バインディングに満足しています。ビューはより簡潔で読みやすくなり、懸念事項が明確に分離されています。コントローラーは処理するだけです。アプリの状態を管理し、モデルが永続化を行い、カスタムのリベット バインディングとフォーマッタが値の書式設定とユーザー入力の処理を処理します。ここまでは順調ですね。
私の唯一の懸念は、watch.js を使用していて、watch が iPhone のパフォーマンスの問題に関与していると思われることです。
リベット js サイトでは、Spine をサポートしていると述べていますが、スニペットはもちろんのこと、単一の例を見つけることができませんでした。
私が思いついたコントローラーとモデルの両方で機能する唯一のアダプターは次のとおりです。
rivets.configure adapter:
subscribe: (obj, keypath, callback) ->
watch obj, keypath, callback
unsubscribe: (obj, keypath, callback) ->
unwatch obj, keypath, callback
read: (obj, keypath) ->
obj[keypath]
publish: (obj, keypath, value) ->
obj[keypath] = value
リベットを脊椎モデルとコントローラーにバインドするより良い方法はありますか?
私は Object.defineProperty に苦労してきましたが、役に立ちませんでした。