2013-03-24 60 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; 
});