Добрый вечер!
Компилирую JST шаблон и вставляю его код перед View
<div id="review_template">
<% _.each( items, function( item ){ %>
<div class='col-md-6 name-rev'>
<p class="text"><strong><%- item.clientName %></strong></p>
</div>
<div class='col-xs-12 wrap' style='margin-bottom: 15px; padding: 10px 10px 5px 10px;'>
<div class='col-md-6 time-rev'>
<p class="text"><strong><%- item.id %></strong></p>
</div>
<br>
<hr style='margin-top: 5px; margin-bottom: 5px;'>
<div class='col-md-12'>
<p class="text"></p>
</div>
</div>
<% }); %>
</div>
Скомпилированный шаблон выглядит так:
(function() {
window["JST"] = window["JST"] || {};
window["JST"]["reviews.jst"] = function(obj) {
obj || (obj = {});
var __t, __p = '', __e = _.escape, __j = Array.prototype.join;
function print() { __p += __j.call(arguments, '') }
with (obj) {
__p += '<div id="review_template">\r\n ';
_.each( items, function( item ){ ;
__p += '\r\n <div class=\'col-md-6 name-rev\'>\r\n <p class="text"><strong>' +
__e( item.clientName ) +
'</strong></p>\r\n </div>\r\n <div class=\'col-xs-12 wrap\' style=\'margin-bottom: 15px; padding: 10px 10px 5px 10px;\'>\r\n <div class=\'col-md-6 time-rev\'>\r\n <p class="text"><strong>' +
__e( item.id ) +
'</strong></p>\r\n </div>\r\n <br>\r\n <hr style=\'margin-top: 5px; margin-bottom: 5px;\'>\r\n <div class=\'col-md-12\'>\r\n <p class="text"></p>\r\n </div>\r\n </div>\r\n ';
}); ;
__p += '\r\n</div>\r\n';
}
return __p
}})();
Далее создаю View и рендерю...
var ReviewsView = Marionette.View.extend({
initialize: function () {
this.collection = new app.ReviewCollection();
this.collection.fetch();
},
template: JST['reviews.jst']
});
var myView = new ReviewsView();
myView.render();
Шаблон JST разворачивается в документе до цикла _.each, больше в разметку ничего не попадает...
Хотя из шаблона DOM доступен, возможно вынести коллекции в отдельный объект и получать их шаблоном из отдельного объекта, как справочник ?
26.01.17 :
Как то так ...