HTMLテンプレートを使用してjsonデータをレンダリングしたいとします。JSONをDOMに保存するためのベストプラクティス
まだ何も実装を開始していませんが、jsonからhtml要素にデータの値を設定して1レコードのテンプレートが含まれているか、何らかの引数を使ってアイテムのコレクションをレンダリングできるようにしたいと考えています。各項目のテンプレートHTMLですが、項目をレンダリングするために使用されたソースJSONと同じ形式でJSONオブジェクトを取得することもできます(私の最初のJSONにはレコード行の振る舞いに関する詳細が必要ですユーザーがこのレコードで何かを行うことができるかどうかを確認するためにajaxリクエストを行い、この情報のすべてがテンプレートに表示されないようにします。
私は、格納するオブジェクトの各プロパティとJSONとのマッパー関数の入力要素で隠しフォームを作ることができると知っていますが、私には過剰なもののように聞こえます。いくつかのより軽い "エンベロープ"。
JSONオブジェクトをhtmlに「シリアライズ」および「非直列化」できるJSライブラリがあるので、DOMのどこかに格納できます(データの表示が含まれている要素ですが、フォーム要素として表示する必要のない追加の属性を格納する)最初の答えは、グローバル変数にJSONを格納示唆したように
UPDATE、私はまたにJSONの「マッピング」を行うことになることについて考え、そして私の「最高の」精神的な解決策は、JavaScriptのモジュール(またはjQueryプラグイン)を作ることだったてきましたhtmlに値を格納することができない場合は、それを内部変数に格納することができます。したがって、html要素からデータを取得する場合は、ローカルコピーからデータを取得できます。私はこれが良い方法があることを知りたいですか?この情報を変数に保存するライブラリーがありますが、そのデータをhtmlでリアルタイムにバインドしているのであれば、私はとても満足しています。
UPDATE 2この今http://knockoutjs.com/使用して行われ、もはやDOMでJSONを維持する必要が、ノックアウトは行いませんJSON < => HTMLマッピング自動的に私はJSONを保存する任意のライブラリがあるとは思わない
ベストプラクティス - "jsonをdomに保存しない"、または "facebookのようにする" - domのどこにでも置くことができます - データ属性、カスタム属性、隠しdivs内に保存します。 – c69