Backbone 的 Views 用来接收用户的操作和修改 Model 的数据 ,另外通过 render 来展示数据.
实际上,在MVC框架中,它更像是Controller。
View有两个作用:
1.监听事件
2.展示数据
下面简单的创建一个View:
- GameView= Backbone.View.extend({
- tagName : "div",
- className: "game",
- render : function() {
- // code for rendering the HTML for the view
- }
- });
下面让我们看看render部分应该怎么写。如下:
- render : function() {
- this.el.innerHTML = this.model.get('name');
- //Or the jQuery way
- $(this.el).html(this.model.get('name'));
- }
更全面的示例:
var DocumentView = Backbone.View.extend({
events: {
- "dblclick" : "open",
- "click .icon.doc" : "select",
- "contextmenu .icon.doc" : "showMenu",
- "click .show_notes" : "toggleNotes",
- "click .title .lock" : "editAccessLevel",
- "mouseover .title .date" : "showTooltip"
- },
- render: function() {
- $(this.el).html(this.template(this.model.toJSON()));
- return this;
- },
- open: function() {
- window.open(this.model.get("viewer_url"));
- },
- select: function() {
- this.model.set({selected: true});
- },
- ...
- });
events部分是监听的事件,下面的open、select方法是事件对应的处理。