1

バックボーン js と jquery を使用するアプリケーションがあります。サーバーからの応答に基づいて動的にテンプレートを生成する必要があります。シナリオは次のようなものです...選択できるテンプレートのドロップダウンがあり、ドロップダウンからテンプレートを選択すると、そのテンプレートに対してAPIが呼び出され、このような構造が提供されます

items:[
{
    "vars":
           {
               "name":
                      {
                           "required": false,
                           "default": "abc"
                      },
               "address":
                      {
                           "required": false,
                           "default": "xyz"
                       }
           }
    "tables": {}
}]

では、この種のサーバー応答を使用して動的フォーム要素を作成するにはどうすればよいでしょうか?

4

1 に答える 1

3

backbone-formsプラグインを使用して、サーバーの応答をフォーム オブジェクトにマッピングできます。何かのようなもの:

var data = {};
var schema = {};
var item = _.first(items);

_.each(item.vars, function(value, key) {
  data[key] = value.default;
  schema[key] = {
    type:"Text",
    validators:value.required ? ['required'] : undefined
  };
});

var form = new Backbone.Form({data:data, schema:schema}).render();

これは、テストされていない単純な例です。ドキュメントをチェックして、backbone-forms必要なことができるかどうかを確認してください。

于 2013-01-30T19:12:42.860 に答える