2013-01-16 58 views
0

我已經準備好了html標記,這不會改變,我只想在這個標記中添加/更新變量。如何僅使用主幹和下劃線呈現值?

如何使用主幹和下劃線來做到這一點?

我曾嘗試以下,

骨幹:

testView = Backbone.View.extend({ 
    initialize: function(){ 
     this.render(); 
    }, 

    render: function(){ 
     var variables = {reqNumber: 10}; 
     /*This is where I'm having problems, how do I use only variables in my template?? 
     * How do I write this next line 
     */ 
     var template = _.template(this.$el.html(), variables); 

     this.$el.html(template); 
    } 
}); 

var test_view = new testView({ el: $("div.container") }); 

HTML:

<a href="#"> 
    <i class="icon-home icon-white"></i> 
    Requests <span class="badge badge-warning"><%= reqNumber %></span> 
</a> 

回答

0

像這樣的作品。問題是,你沒有確定你的模板在哪裏,$ el指向視圖的容器,而不是模板(參見模板腳本)。

JS:

$(function() { 
    var testView = Backbone.View.extend({ 
     initialize: function(){ 
      this.render(); 
    }, 
    render: function(){ 
     var variables = {'reqNumber': '10'}; 
     var template = _.template($('#test-templ').html(), variables); 

     this.$el.html(template); 
    } 
    var test_view = new testView({ el: $("div.container") });}); 
}); 

HTML:

<script id="test-templ" type="text/html"> 
    <a href="#"> 
     <i class="icon-home icon-white"></i> 
     Requests <span class="badge badge-warning"><%= reqNumber %></span> 
    </a> 
</script> 
<div class="container"></div> 
+0

所以,我需要爲 「一切」 的模板?是如何強調和骨幹工作? –

+0

對於您實例化的每個視圖,您不需要模板,但通常必須定義一個'el'屬性,因爲這將成爲視圖的容器。 –

+0

很好,謝謝,在骨幹上有任何好的鏈接? –

相關問題