Backbone
Backbone.js(又名Backbone)旨在为客户端应用程序添加结构,以避免出现意大利面条式代码混乱。
用 Backbone.js 的话来说:
Backbone.js 通过提供带有键值绑定和自定义事件的模型、带有丰富可枚举函数 API 的集合、带有声明式事件处理的视图,并将所有内容通过 RESTful JSON 接口连接到您现有的 API,从而为 Web 应用程序提供结构。
模型是您存储数据的地方,在 Backbone 中,它们是使用 Backbone 内置的 Model 创建的特殊 JavaScript 对象,您可以选择性地扩展它们以添加功能。创建 Model 大致是这样的
var jedi = new Backbone.Model({
name: 'Yoda',
age: 874
});
然后,您可以通过模板将此模型连接到向用户显示它的 View。模板只是带有特殊标记或其他语法的 HTML,用于指示模型数据应放置的位置。
视图大致是这样的,包括将其添加到页面和渲染它。
var jediView = new Backbone.View({
model: jedi,
tagName: 'div',
jediTpl: _.template($('#jedi-template').html()),
render: function () {
this.$el.html(this.jediTpl(this.model.toJSON())));
return this;
}
});
jediView.$el.appendTo('body');
jediView.render();
模板通常保存在一个类型为“template”的 script 元素中,其中包含视图应使用的 HTML。对于上面的示例,它可能看起来像这样
<script type="template" id="jedi-template">
<h1><%- name %></h1>
<h2><%- age %></h2>
</script>
