通过mixins扩展Backbone.Model

时间:2013-12-10 09:41:51

标签: backbone.js mixins

我最近开始玩Backbone.js。我想将自定义验证机制应用于我的模型类,我决定使用mixin类。现在问题是将mixin附加到Backbone.Model类是一个好主意,如下所示

_.extend(Backbone.Model.prototype, MyApp.ValidationMixin)

或者我可以创建所有应用程序模型扩展的基本模型AppModel,并将mixin附加到基本模型。

var AppModel = Backbone.Model.extend({});
_.extend(AppModel.prototype, MyApp.ValidationMixin)

如果我采用第一种方法,是否会遇到任何问题?

1 个答案:

答案 0 :(得分:3)

一般来说,第一种方法适用于这种特定情况(将验证混合添加到Backbone模型中),但您的验证Mixin可能会被其他图书馆删除(有时很难去掉#39) ;挑选并选择其他Backbone库的功能。

第二种方法更安全,是通常推荐的方法,可以在各种Backbone的应用程序样板中看到。

两者在技术上都是相同的,只要你生活在你自己的小应用程序泡泡中即可。