Я использую Browserify для загрузки Backbone View. Представление представляет собой некоторые html-шаблоны с подчеркиванием. Метод «tmpl2» генерирует пустую строку, когда я загружаю разметку шаблона из сценария шаблона html. Существуют ли какие-либо проблемы между браузером и подчеркиванием или почему его отображение пустой строки? (Я использую последнюю версию browserify, подчеркивание, магистральная, JQuery)Пустой шаблон подчеркивания в обозревателе
View.js:
var $ = require('jquery');
var Backbone = require('backbone');
var _ = require('underscore');
Backbone.$ = $;
var View = Backbone.View.extend({
tmpl1: _.template("<p>hello: <%= name %></p>"), //HTML hardcoded
tmpl2: _.template($.trim($('#tmpl').html())), //HTML from template
render: function(){
console.log($.trim($('#tmpl').html())); //<p>hello: <%= name %></p> <-- OK
console.log(this.tmpl1({name : 'moe'})); //<p>hello: moe</p> <-- OK
console.log(this.tmpl2({name : 'moe'})); //(Emptystring) <-- WTF ???
}
});
module.exports = View;
index.html:
<script type="text/template" id="tmpl">
<p>hello: <%= name %></p>
</script>
Вы уверены, что DOM загружен в том месте, где вы компилируете свой шаблон? – Jack
Да, dom уже загружен, скрипт для загрузки и рендеринга этого базового представления находится внутри метода jquery ready «$ (function() {})». – htmlcoder
Является ли это кодом для создания экземпляра представления или объявления его? Я подозреваю, что это позже, и это проблема. – Jack