Backbone文档说
如果你想等到运行时再定义它们,那么像tagName,id,className,el和events这样的属性也可以定义为一个函数。
我还没有看到使用此功能的示例。有人能告诉我它是如何实现的吗?
答案 0 :(得分:5)
在最简单的形式中,您只需从函数返回一个事件哈希对象:
View = Backbone.View.extend({
events: function() {
return {
"click #save" : "save"
};
}
});
当然,这并没有多大意义。如果需要有条件地绑定事件或使用某些信息(仅在运行时可用),此功能非常有用:
View = Backbone.View.extend({
events: function() {
return {
"click #save" : this.model.isNew() ? "create" : "update"
};
}
});