2013-03-14 3 views
0

У меня есть элемент контейнера div и внутри этого элемента контейнера у меня есть несколько шаблонов. Я хочу выборочно загружать шаблоны на основе json, возвращаемого из backend. Это тривиальная проблема, но перед этим возникают проблемы. Некоторые логические коды.Backbone.js view + underscore.js шаблоны

<div id = "container"> 
    <div class = "row page"> 
    <script type = "text/template" id = "template1"> 
     <div id = "template1_id"> 
     </div> 
    </script> 
    <script type = "text/template" id = "template2"> 
     <div id = "template2_id"> 
     </div> 
    </script> 
    </div> 
</div> 

В моем Backbone View, что я делаю что-то вроде:

var someView = Backbone.view.extend({ 
    el: '.page' 
    render: function() { 
    el: '.page'; 
    var template1 = _.template($('#template1').html()); 
    this.$el.html(template1); 
    //get Json from backend and render the template within the fetch method 
    var collection1 = new someCollection(); 
    someCollection.url = "blah"; 
    someCollection.fetch (function() { 
     success: function() { 
     var template2 = _.template($('#template2').html()); 
     $('#template1_id').html(template2); 
     } 
    }); 

    }, 
}); 

Только первый шаблон оказанного и не вторая. Я что-то принципиально неправильно здесь?

ответ

1

Если вы рендеринга обоих шаблонов в один контейнер, вы должны использовать $.append, а не $.html, поэтому оба будут добавлены соответственно.

+0

Спасибо человек. Так глупо от меня. –

0

у вас есть опечатка (несовпадающие цитата)

$('#template1_id").html(template2); 

должен быть

$("#template1_id").html(template2); 
+0

Привет, спасибо, я исправил это, но проблема все еще сохраняется. Я отлаживаю, когда мы говорим. –

Смежные вопросы