Backbone形式与嵌套模型和自定义模板

exu*_*sum 5 javascript backbone.js underscore.js backbone-forms

我目前正在使用Backbone表单.

我目前有一个使用嵌套模型加载的模式.当我尝试用模板设置样式时,我没有得到预期的结果.

该模板类似于以下内容:

<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>
Run Code Online (Sandbox Code Playgroud)

卧室在模式中定义为:

bedrooms: {
  type: 'NestedModel',
  model:Bedroom,
  editorAttrs: {
    class: 'bedrooms'
  }
}
Run Code Online (Sandbox Code Playgroud)

这显示没有由此调用的自定义模板:

template: _.template($('#formTemplate').html())
Run Code Online (Sandbox Code Playgroud)

删除此行时,自定义模板看起来正确

<div data-fields="bedrooms"></div>
Run Code Online (Sandbox Code Playgroud)

有没有办法可以同时使用自定义模板和嵌套模型?嵌套模型没有定义模板,只添加了模式.

谢谢

更新:Js Fiddle附上了类似的东西

//  template: _.template($('#formTemplate').html()),
Run Code Online (Sandbox Code Playgroud)

应该切换到一个工作方式,它看起来不正确

更新:

Tommi Komulainen非常接近他的答案在这里,描述实际上是在第一个边界div而不是第二个.我该怎么把它移到第二个?

更新2:

我现在调用每个嵌套项目的渲染,然后像这样在主渲染之后注入

form.fields.bedrooms.render();
$('#bedrooms').html(form.fields.bedrooms.el);
Run Code Online (Sandbox Code Playgroud)

这目前正在工作,但不觉得是一个"好"的解决方案

evi*_*ery 2

尝试在整个模板周围添加一个包装 DIV 标签;模板需要有一个主要包含元素。