为什么Backbone的模型中的getter和setter?

时间:2013-10-16 01:37:00

标签: backbone.js

为什么有Backbone模型的getter和setter?没有私有/受保护的属性,因此getter和setter对封装有点无用。我知道它们对验证有用,但除此之外,如果我们可以绕过它们,它们的效用是什么?

1 个答案:

答案 0 :(得分:11)

set不仅仅是在做下面的事情。

this.attributes["key"] = value;

如果你绕过它,你将会错过它所做的所有其他功能here

目前它正在做两个功能。

1.在为属性赋值之前调用_validate方法。 refer this

2.如果您监听属性更改,则会触发change事件。

如果他们将来添加更多功能,如果您绕过set,则可能会丢失这些功能。