好的,我正在玩 Backbone、node.js、Underscore、Backbone Boilerplate,所以我有足够的知识。一直在疯狂地问问题,因为我仍然无法完全理解它。我目前正在尝试将Underscore库与Backbone Boilerplate一起使用来制作一个非常简单的模板,该模板将允许我传入数据;然后当模型更新时,更改将更改模板的视图。我相信这是正确的做法,而不是在我的 JS 文件中编写 HTML 代码?如果我错了就阻止我。
Backbone Boilerplate 有.fetch()
我理解的模板系统。然而,我相信这意味着在我的 JS 中编写 HTML。所以我想使用下划线简单地将信息从模型传递到视图到模块以再次渲染模板(或者我可以完全跳过视图?)。
我的问题是为什么这不起作用,我认为这是因为我没有将其更改为 JSON。
我的 HTML 模板:
<div>
<script id="rtemp" type="text/x-underscore-template">
<span><%= title %></span>
</script>
</div>
和 JavaScript:
define([
// Global application context.
"app",
// Third-party libraries.
"backbone",
"underscore",
"json2"
],
function(app, Backbone) {
var Attempt = app.module();
Attempt.Model = Backbone.Model.extend({});
Attempt.Collection = Backbone.Model.extend({});
Attempt.Views.Tutorial = Backbone.View.extend ({
template: "app/templates/attempt",
render: function(done) {
var tmpl = app.fetchTemplate(this.template);
//console.info(tmpl);
this.$el.html(tmpl({title: 'This is a title'}))
}
});
return Attempt;
});
当我检查它显示的元素时,<div>
它周围仍然有模板脚本标签,因此不会在 HTML 页面上显示。我尝试json2
先将其转换为 JSON,但除非我做错了什么,否则这似乎不起作用。下划线是最好用的东西吗?我假设它是一个主干依赖项。或者我应该使用别的东西。我只是想避免在我的 JS 中编写 HTML。