Rivets.jsは、そのパワーでありながらシンプルさを愛しています。ただし、ビュープロパティを取得してモデルプロパティにフォーマットするフォーマッターを定義するにはどうすればよいですか?私の理解では、フォーマッターは逆の方法で動作することを意図しています。つまり、モデルからビューへ。
View to Modelフォーマッターは何らかの形でサポートされていますか、それともハッキングする必要がありますか?
Rivets.jsは、そのパワーでありながらシンプルさを愛しています。ただし、ビュープロパティを取得してモデルプロパティにフォーマットするフォーマッターを定義するにはどうすればよいですか?私の理解では、フォーマッターは逆の方法で動作することを意図しています。つまり、モデルからビューへ。
View to Modelフォーマッターは何らかの形でサポートされていますか、それともハッキングする必要がありますか?
これは、Rivets.js0.4.2に導入された機能です。それを実装してくれたGitHubのGMFlashとmdekmetzianに大いに感謝します。
基本的には、双方向フォーマッターを単一の関数ではなくオブジェクトとして定義するだけです。フォーマッタが単一の関数として定義されている場合、Rivetsはそれが読み取り方向のみにあると想定します。フォーマッタがオブジェクトとして定義されている場合、Rivetsはその関数read
とpublish
関数を使用して、値を効果的にシリアル化および逆シリアル化します。
rivets.formatters.date = {
read: function(value) {
return value.format("DD/MM/YYYY")
},
publish: function(value) {
return moment(value, "DD/MM/YYYY")
}
}
双方向フォーマッタを他のフォーマッタと任意の順序でチェーンすることもできます。それらは左から右に読み取り、右から左に公開します(値をモデルに公開するときに読み取り専用フォーマッターをスキップします)。
ドキュメントが不足していることをお詫びします。ホームページにはRivets.jsの現在の機能セットがまったく反映されていないため、このような追加機能を含めるように更新する必要があります。