Javascript Backbone.js once()事件方法:计数器增量示例
我正在读书 有一个关于Javascript Backbone.js once()事件方法:计数器增量示例,javascript,backbone.js,Javascript,Backbone.js,我正在读书 有一个关于once()方法的例子我不理解。这是你的电话号码。运行它并查看控制台日志。请确保它打印两个trues var TodoCounter = { counterA: 0, counterB: 0 }; _.extend(TodoCounter, Backbone.Events); // Increment counterA, triggering an event var incrA = function(){ TodoCounter.counterA += 1;
once()
方法的例子我不理解。这是你的电话号码。运行它并查看控制台日志。请确保它打印两个true
s
var TodoCounter = { counterA: 0, counterB: 0 };
_.extend(TodoCounter, Backbone.Events);
// Increment counterA, triggering an event
var incrA = function(){
TodoCounter.counterA += 1;
TodoCounter.trigger('event'); // ??? What is this for?
};
// Increment counterB
var incrB = function(){
TodoCounter.counterB += 1;
};
// Use once rather than having to explicitly unbind
// our event listener
TodoCounter.once('event', incrA);
TodoCounter.once('event', incrB);
// Trigger the event once again
TodoCounter.trigger('event');
// Check out output
console.log(TodoCounter.counterA === 1); // true
console.log(TodoCounter.counterB === 1); // true
incrA()
中的TodoCounter.trigger('event')
是否执行任何操作?我把它取了下来,看起来没什么区别
这本书说它只应该为A和B增加一次。我想我理解除了
中的TodoCounter.trigger('event')
之外,在incrA()
不,你是对的,它不会做任何事情。我相信它只是指出,当使用once()
将回调绑定到事件时,回调只触发一次。不,你是对的,它不会做任何事情。我相信它只是指出,当使用once()
将回调绑定到事件时,回调只触发一次。没问题。我想反例应该是使用TodoCounter.on('event',incrA);相反,结果将是一个无限循环。没问题。我想反例应该是使用TodoCounter.on('event',incrA);开发Backbone.js应用程序看起来像是要添加到阅读列表中的一个,即使它确实有一些令人困惑的例子!开发Backbone.js应用程序看起来像是要添加到阅读列表中的一个,即使它确实有一些令人困惑的示例!