2014-11-25 21 views
3

如何在骨干表单列表中使用嵌套模型?我想用一个自定义模板创建一个嵌套模型,但是这给出了一个错误:“渲染未定义的”如何在骨干表单列表中使用嵌套模型?我想用自定义模板制作一个嵌套模型

我想通过使用自定义模板的主干窗体进行视图。模板是

<div class="container-fluid add-apikey" data-class="add-apikey"> 
<div class="page-head"> 
    <h2>API Key</h2> 
</div> 
<div class="cl-mcont"> 
    <div class="row"> 

     <div class="col-sm-12"> 
      <!-- New Zone --> 

      <div class="block-flat"> 
       <form class="form-horizontal" role="form"> 
        <div class="header"> 
         <h3>Create New API Key</h3> 
        </div> 
        <div class="content"> 
         <div class="formAlerts"></div> 
         <div class="formconfirm"></div> 
         <div class="required" data-fields="apiName"> 

         </div> 

         <div class="required" data-fields="notes"> 

         </div> 

         <div class="required" data-fields="weapons"> 

         </div> 
         <div class="form-group editmode"> 
          <div class="col-sm-offset-3 col-sm-9"> 
           <button class="btn btn-primary readOnlySave" type="button">Generate Key</button> 
           <button class="btn btn-default readOnlyCancel">Cancel</button> 
          </div> 
         </div> 
        </div> 
       </form> 
      </div> 

     </div> 
     <!-- end new zone --> 

    </div> 
</div> 

和JS是

//Add api keys 
var //util 
    util = require('./../../../util/util.js'), 
    apiKeyAddTpl = require('./../templates/apikeyadd.hbs'), 
    backboneFormList = require('backboneFormsList'), 
    backboneFormsModal = require('backboneFormsModal'); 

module.exports = Backbone.Form.extend({ 

    template: apiKeyAddTpl, 

    schema: { 
     apiName: { 
      type: 'Text', 
      fieldClass: "field-apiName form-group", 
      editorClass: "form-control editmode" 
     }, 
     notes: { 
      type: 'List', 
      fieldClass: "field-notes form-group", 
      editorClass: "form-control editmode" 
     }, 
     weapons: { 
      type: 'List', 
      itemType: 'Object', 
      fieldClass: "field-weapon form-group", 
      editorClass: "form-control editmode", 
      subSchema: { 
       id: 'Number', 
       name: { 
        type: 'Text' 
       } 
      } 
     } 
    } 

}); 

但是,这是给我一个错误,当我想下的武器添加一个字段。 错误是:无法读取未定义的属性'呈现'。

回答

0

您需要扩展一个View:Backbone.View.extend。该视图具有el属性。您必须将此属性与form关联。视图有一个方法render,你可以覆盖。 Doc:backbone view