Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Backbone.js once()事件方法:计数器增量示例_Javascript_Backbone.js - Fatal编程技术网

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应用程序看起来像是要添加到阅读列表中的一个,即使它确实有一些令人困惑的示例!