2016-05-21 33 views
0

是否有可能在鬍子中綁定多個JSON對象?我有一個小應用程序,我使用主幹來從一個restful api提取數據。骨幹和小鬍子綁定到多個JSON對象

我基本上是得到一個僱員名單,然後是所有的下屬。我將模型傳遞給小鬍子,並且這樣綁定:

render: function(){ 
    //debugger; 
    var model = { 
     manager: this.model.toJSON(), 
     subordinates: this.model.reports.toJSON() 
} 

    console.log('render',this.model.toJSON()); // show the employee and the list of subordinates 
    this.el.innerHTML = Mustache.to_html(this.template, { employee_detail: model }); 
    } 

我的模板如下所示。它適用於綁定和顯示管理器變量,但下級變量不顯示。我想顯示員工的詳細信息,然後列出他們的所有下屬。

{{#employee_detail}} 
<h3>{{manager.firstName}} {{manager.lastName}}</h3> 
<h4>{{manager.title}}</h4> 
<table class="table table-striped"> 
      {{#manager.managerId}} 
       <tr> 
        <td>Manager:</td> 
        <td><i class="icon-user"></i> <a href='#employees/{{manager.managerId}}'>{{manager.managerName}}</a></td> 
       </tr> 
      {{/manager.managerId}} 
      <tr> 
       <td>Office Phone:</td> 
       <td><i class="icon-home"></i> {{manager.officePhone}}</td> 
      </tr> 
      <tr> 
       <td>Cell Phone:</td> 
       <td><i class="icon-headphones"></i> {{manager.cellPhone}}</td> 
      </tr> 
      <tr> 
       <td>Email:</td> 
       <td><i class="icon-envelope"></i> <a href="mailto:{{manager.email}}">{{manager.email}}</a></td> 
      </tr> 
      <tr> 
       <td>Twitter:</td> 
       <td><i class="icon-retweet"></i> <a href="">{{manager.twitterId}}</a></td> 
      </tr> 
     </table> 
     <table> 
      <tr> 
       <td>Subordinates:</td> 
       <td><i class="icon-user"></i> <a href='#employees/{{subordinates.id}}'>{{subordinates.fullName}}</a> 
       </td> 
      </tr> 
     </table> 
{{/employee_detail}} 

回答

0

subordinates暗示我你正在處理數組。如果是這種情況,我相信你應該迭代它的元素並分別顯示每個元素。如果我是對的 - 當調用{{subordinates.id}}'>{{subordinates.fullName}}時,你得到2X未定義,因爲數組沒有這樣的屬性。

關於鬍子itarations在陣列的詳細信息您可以本主題中找到: Mustache.js: Iterate over a list received via json

+0

感謝。它實際上不是一個數組。它是一個JSON對象。我基本上有兩個模型(骨幹)在我的對象。所以它是一個叫做模型的對象,它有兩個嵌套對象,一個是管理者,另一個是下屬。這種關係是一個管理者,並且0到很多下屬。 –