0

我开始使用 BB.js 并且我是 MVC 的新手。

  1. 所以我将 JQuery 与 BB 一起使用,而 BB 似乎无法处理所有事件。例如:加载事件,我也认为是 keboard 事件。我虽然在使用 BB 时,所有代码都需要在 BB Obect 中(例如:查看对象),但现在似乎我还必须对某些事件使用 JQuery,这会将我的代码分成多个部分.

  2. 我在哪里实例化视图(控制器)?在控制器文件中还是在 HTML 文件中的脚本标记中?什么是干净的方法

4

1 回答 1

0

主干模型/视图/集合都是为了模仿 jQuery 和下划线 API 而构建的。所以回答你的问题:

1 - 任何可以绑定到元素的事件都可以在 Backbone 视图中使用。事件数据通过参数发送到函数。前(通过骨干文档):

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.attributes));
    return this;
  },

  open: function() {
    window.open(this.model.get("viewer_url"));
  },

  select: function() {
    this.model.set({selected: true});
  },

  ...

});

2 - 您在脚本文件或脚本标签中实例化您的视图。从上面的例子:

var Document = new DocumentView();

Document.render();
于 2013-10-22T16:31:46.507 回答