HTML Dog
跳至导航

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>