为什么有Backbone模型的getter和setter?没有私有/受保护的属性,因此getter和setter对封装有点无用。我知道它们对验证有用,但除此之外,如果我们可以绕过它们,它们的效用是什么?
答案 0 :(得分:11)
set
不仅仅是在做下面的事情。
this.attributes["key"] = value;
如果你绕过它,你将会错过它所做的所有其他功能here。
目前它正在做两个功能。
1.在为属性赋值之前调用_validate
方法。 refer this
2.如果您监听属性更改,则会触发change
事件。
如果他们将来添加更多功能,如果您绕过set
,则可能会丢失这些功能。