有没有办法可以在不触发更改事件的情况下更改模型上的属性?如果您立即传递{"silent":true},则下次更改属性时,将触发静默更改事件.如果没有触发更改事件,我可以安全地更改属性吗?
来自变化,Backbone 0.9.2:
// Silent changes become pending changes.
for (var attr in this._silent) this._pending[attr] = true;
// Silent changes are triggered.
var changes = _.extend({}, options.changes, this._silent);
this._silent = {};
for (var attr in changes) {
this.trigger('change:' + attr, this, this.get(attr), options);
Run Code Online (Sandbox Code Playgroud) 我是一个backbone.js n00b,我无法理解如何扩展视图.我有一个基本的"项目"模型和视图.我想将模型和视图扩展为"specificItem".有没有办法在扩展视图中添加事件而不是全部替换它们?
物品查看:
var itemView = Backbone.View.extend({
...
events: {
"click" : "foo"
, "dblclick div": "bar"
}
...
});
Run Code Online (Sandbox Code Playgroud)
具体项目查看:
var specificItemView = itemView.extend({
...
// I'd like this to simply add an event handler not replace the ones defined above
events: {
"contextmenu" : "baz"
}
...
});
Run Code Online (Sandbox Code Playgroud)
是否支持以这种方式扩展视图,或者我们只能对模型进行扩展?
我正在构建一个jsperf来说明访问嵌套对象成员所花费的时间,我发现了这个奇怪的现象.由于某种原因,第四个嵌套对象成员的测试运行速度比第五个慢得多.我在Chrome和Firefox中尝试了这个,并得到了相同的结果.

有什么想法会发生这种情况吗?
这可能是一般的javascript或jQuery问题 - 我正在使用backbone.js,我想在一个可以由子类使用的类中使用私有方法.这可能吗?
var fooView = Backbone.View.extend({
initialize: function () {
this._privateFunc();
},
_privateFunc: function () {
...
}
});
var subFooView = fooView.extend({
initialize: function () {
this.coolFunc();
this._privateFunc();
},
coolFunc: function () {
...
}
});
Run Code Online (Sandbox Code Playgroud)
但是_privateFunc并没有暴露给外界.我对javascript中的封装很新,所以如果有明显的答案,请原谅我.:d