2013-03-24 62 views
0

我被下劃線和骨幹卡住了。我以某種方式無法呈現下劃線模板中的JSON。瀏覽器什麼都不輸出,但沒有錯誤信息。繼承人我的工作:傳遞JSON以通過骨幹下劃線

服務器返回以下JSON:

[{"id":"1","vorname":"Magnus","nachname":"R.","geb":"0","natio":""},{"id":"2","vorname":"Konstantin","nachname":"W.","geb":"0","natio":""}] 

///////我的模型://////

define([ 
    'underscore', 
    'backbone', 
], function(_, Backbone){ 

    var MitarbeiterModel = Backbone.Model.extend({}); 
    return MitarbeiterModel; 
}); 

/////我的收藏:///////

define([ 
    'underscore', 
    'backbone', 
    'models/mitarbeiter', 


], function(_, Backbone, MitarbeiterModel){ 

    var MitarbeiterCollection = Backbone.Collection.extend({ 
    model: MitarbeiterModel, 
    url: '/aquilamus/server/request.php', 

    }); 

    return MitarbeiterCollection; 
}); 

//////我查看///////

​​

下劃線的模板:

<script type='text/javascript' id='mitarbeiter-anzeigen'> 
    <% _.each(rc.mitarbeiter, function(mitarbeiter){ %> 
     <div>test</div> 
     <div><%= mitarbeiter.vorname %></div> 

    <% }); %> 
</script> 

的執行console.log(self.collection.toJSON())記錄如下:

enter image description here

回答

2

在模板中你有:

<% _.each(rc.mitarbeiter, function(mitarbeiter){ %> 

那是哪裏的rc 來自?

這裏是你的代碼應該是什麼樣子的控制器內:

self.template({ "mitarbeiters": self.collection.toJSON() }); 

然後你的模板中:

<% _.each(mitarbeiters, function(mitarbeiter){ %> 
+0

THXü救了我的一天:-)的RC來自_.templateSettings.variable = 「RC」; – Tino 2013-03-24 14:43:22

0

答: ///修訂下劃線模板:////

<script type='text/javascript' id='mitarbeiter-anzeigen'> 
    <% _.each(rc.mitarbeiters, function(mitarbeiters){ %> 
     <div><%= mitarbeiters.vorname %></div> 

    <% }); %> 

////更新的視圖:///////

define([ 
    'jquery', 
    'underscore', 
    'backbone', 
    'collections/mitarbeiter', 
    'text!/aquilamus/templates/mitarbeiter/mitarbeiter.html' 
], function($, _, Backbone, MitarbeiterCollection, MitarbeiterTemplate){ 



var MitarbeiterListView = Backbone.View.extend({ 
    el: $("#container"), 
    initialize: function(){ 
     this.collection = new MitarbeiterCollection; 

     var newtemplate = MitarbeiterTemplate; 
     _.templateSettings.variable = "rc"; 
     this.template = _.template($(newtemplate).html()); 
    }, 
    render: function(){ 
     var self = this; 

     // show some loading message 
     this.$el.html('Loading'); 

     // fetch, when that is done, replace 'Loading' with content 
     this.collection.fetch().done(function(){ 
      console.log(self.collection.toJSON()); 
      var renderedContent = self.template({ "mitarbeiters": self.collection.toJSON() }); 

      self.$el.html(renderedContent); 
     }); 
     return this; 
    } 


    }); 
    // Our module now returns our view 
    return MitarbeiterListView; 
});