Backbone Form中的对象数组

时间:2013-01-03 23:12:09

标签: jquery jquery-ui backbone.js backbone-views backbone-forms

我正在使用当前项目的主干表单,我发现为数组创建模式时遇到了困难,

 schema:{
        name:{},
        description:{},
        partition:{},
        'addresses':[{type:'Object',subSchema:{address:{}, description:{}}}]


    }

这是我的架构

 var obj = {
                name:'suchita',
                description:'device3 desc',
                partition:'346',
                'addresses':
                    [{address:'abc', description:'xyz'}]

            };

           var user=new Model(obj);

这就是我填充架构的地方。现在我的api要我发送一系列“地址”对象,即

地址:      0:{地址:'abc',描述:'xyz'}      1:{地址:'uio',描述:'uiyui'}

但不知怎的,它不会以这种方式发生。你能帮助我解决我的错误吗?

2 个答案:

答案 0 :(得分:1)

我知道它已经晚了,但我认为列表的语法类似于:

schema:{
    name:{},
    description:{},
    partition:{},
    addresses: {type:'List',itemType: 'Object', 
        subSchema:{
            address:{}, 
            description:{}
        }
    }
}

当然,您必须包含骨干表单的列表编辑器:

<script src="backbone-forms/distribution/editors/list.min.js"></script>

你可以填写:

var obj = { addresses: [
    {
        address: 'my address', 
        description: 'home'
    }
]};

var user = new Model(obj);

我没有检查这是否有效,但我的代码中有类似的情况,所以它应该可以正常工作

答案 1 :(得分:0)

尝试设置架构字段的类型,例如:

schema:{
    name: {type:'Text'},
    description: {type:'TextArea'},
    partition: {type:'Text'},
    addresses:[{type:'Object', subSchema:{
                  address:{type:'Text'}, 
                  description:{type:'TextArea'}
              }}]
}