我开始使用BB.js,我是MVC的新手。
所以我在BB中使用JQuery,BB似乎无法处理所有事件。例如:加载事件,我也认为是键盘事件。我虽然在使用BB时,所有代码都需要在BB Obect中(例如:View Object),但现在看来我还必须使用JQuery来处理某些事件,这会将我的代码分成多个部分
我在哪里实例化View(控制器)?在控制器文件中或HTML文件中的脚本标记中?什么是干净的方式
答案 0 :(得分:0)
Backbone模型/视图/集合都是为了模仿jQuery和下划线API而构建的。所以回答你的问题:
1 - 可以在Backbone视图中使用任何可以绑定到元素的事件。事件数据通过参数发送到函数。 ex(via Backbone docs):
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();