分析这段代码,我不确定实际发生了什么,我一直陷入JS的陷阱,尤其是回调函数。这是取自骨干网文档的示例。
//creates a new constructor function with a promptColor function as an attribute.
var Sidebar = Backbone.Model.extend({
promptColor: function() {
var cssColor = prompt("Please enter a CSS color:");
this.set({color: cssColor});
}
});
// creates a property on the global window object called sidebar
window.sidebar = new Sidebar;
// .on is an event listener and passed a callback function taking the parameters of model and color. Here is my confusion, what does it do with the model parameter?
sidebar.on('change:color', function(model, color) {
$('#sidebar').css({background: color});
});
sidebar.set({color: 'white'});
sidebar.promptColor();
我的主要问题是,它与model参数有什么关系?使用model参数实际上在做什么?
谢谢!
在您的特定情况下,模型参数没有实际用途,因为它们是变更事件和模型之间的一对一关系。
但是,有时并非如此。例如,假设您有一个骨干的模型集合。您可以将“ change”事件侦听器附加到集合,每次集合中的任何模型更改时都会调用该事件侦听器。在这种情况下,了解哪个模型起源于“更改”事件会很有帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句