我开始使用 BB.js 并且我是 MVC 的新手。
所以我将 JQuery 与 BB 一起使用,而 BB 似乎无法处理所有事件。例如:加载事件,我也认为是 keboard 事件。我虽然在使用 BB 时,所有代码都需要在 BB Obect 中(例如:查看对象),但现在似乎我还必须对某些事件使用 JQuery,这会将我的代码分成多个部分.
我在哪里实例化视图(控制器)?在控制器文件中还是在 HTML 文件中的脚本标记中?什么是干净的方法
我开始使用 BB.js 并且我是 MVC 的新手。
所以我将 JQuery 与 BB 一起使用,而 BB 似乎无法处理所有事件。例如:加载事件,我也认为是 keboard 事件。我虽然在使用 BB 时,所有代码都需要在 BB Obect 中(例如:查看对象),但现在似乎我还必须对某些事件使用 JQuery,这会将我的代码分成多个部分.
我在哪里实例化视图(控制器)?在控制器文件中还是在 HTML 文件中的脚本标记中?什么是干净的方法
主干模型/视图/集合都是为了模仿 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();