2

Rivets.jsは、そのパワーでありながらシンプルさを愛しています。ただし、ビュープロパティを取得してモデルプロパティにフォーマットするフォーマッターを定義するにはどうすればよいですか?私の理解では、フォーマッターは逆の方法で動作することを意図しています。つまり、モデルからビューへ。

View to Modelフォーマッターは何らかの形でサポートされていますか、それともハッキングする必要がありますか?

4

1 に答える 1

6

これは、Rivets.js0.4.2に導入された機能です。それを実装してくれたGitHubのGMFlashとmdekmetzianに大いに感謝します。

基本的には、双方向フォーマッターを単一の関数ではなくオブジェクトとして定義するだけです。フォーマッタが単一の関数として定義されている場合、Rivetsはそれが読み取り方向のみにあると想定します。フォーマッタがオブジェクトとして定義されている場合、Rivetsはその関数readpublish関数を使用して、値を効果的にシリアル化および逆シリアル化します。

rivets.formatters.date = {
  read: function(value) {
    return value.format("DD/MM/YYYY")
  },
  publish: function(value) {
    return moment(value, "DD/MM/YYYY")
  }
}

双方向フォーマッタを他のフォーマッタと任意の順序でチェーンすることもできます。それらは左から右に読み取り、右から左に公開します(値をモデルに公開するときに読み取り専用フォーマッターをスキップします)。

ドキュメントが不足していることをお詫びします。ホームページにはRivets.jsの現在の機能セットがまったく反映されていないため、このような追加機能を含めるように更新する必要があります。

于 2013-03-06T08:04:06.250 に答える