什么是值以及如何使用模型参数?

时间:2014-01-29 01:22:11

标签: javascript backbone.js

分析这段代码我不确定实际发生了什么。我继续使用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();

我的主要问题是它对模型参数有什么作用?它实际上对模型参数做了什么?

谢谢!

1 个答案:

答案 0 :(得分:1)

在您的特定情况下,模型参数没有实际用途,因为它们是更改事件和模型之间的一对一关系。

然而,有时候并非如此。例如,假设您有一个主干模型集合。您可以将“更改”事件侦听器附加到集合,每次集合中的任何模型更改时都会调用该集合。在这种情况下,了解哪个模型产生了“变化”事件是有帮助的。