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>
4

1 に答える 1

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>
于 2013-01-16T04:47:08.487 に答える