0

私は、ユーザーがテンプレート エンジンの代わりに 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 に苦労してきましたが、役に立ちませんでした。

4

2 に答える 2

1

私は専門家ではありませんが、これは Watch.js の正しいアダプター構成ファイルのようです。

しかし、それはあなたのパフォーマンスの問題ではないかもしれません。より多くのパフォーマンスのヒントについては、このリンクを試してください: rivets.js を使用して 1 レベルよりも深くバインドする方法

于 2013-06-16T10:22:05.633 に答える