我目前正在使用Backbone forms。
我目前有一个使用嵌套模型加载的模式。当我尝试使用模板设置样式时,我没有得到预期的结果。
模板类似于以下内容:
<div class="bounding">
<h2>Title1 </h2>
<div data-fields="name,type"></div>
<div data-fields="bedrooms"></div>
</div>
<div class="bounding">
<h2>Title 2</h2>
<div data-fields="description"></div>
</div>
卧室在架构中定义为:
bedrooms: {
type: 'NestedModel',
model:Bedroom,
editorAttrs: {
class: 'bedrooms'
}
}
这样可以正确显示,而不需要调用自定义模板:
template: _.template($('#formTemplate').html())
,当删除此行时,自定义模板看起来正确
<div data-fields="bedrooms"></div>
有没有办法可以同时使用自定义模板和嵌套模型?嵌套模型没有定义模板,只有添加了模式。
由于
更新:Js Fiddle附加了类似
// template: _.template($('#formTemplate').html()),
应该切换以查看工作方式而且看起来不正确
更新:
Tommi Komulainen与他的回答Here非常接近,描述实际上是在第一个界限中,而不是第二个。我该怎么把它移到第二个?
更新2:
我正在调用当前每个嵌套项目的渲染,并在主渲染之后重新注入,如此
form.fields.bedrooms.render();
$('#bedrooms').html(form.fields.bedrooms.el);
这目前正在运作,但并不像是一个“好”的解决方案
答案 0 :(得分:2)
尝试在整个模板周围添加包装DIV标记;模板需要有一个main包含元素。
答案 1 :(得分:1)
我认为<div data-fields="bedrooms"></div>
应该是
<div data-fieldsets="bedrooms"></div>
代替。