Javascript 升级模型(backbone.js)
现在我有一个适用于所有用户的通用用户模型。当用户登录时,确定他们是用户类型1还是用户类型2。这两种类型需要完全不同的模型来表示它们,但仍然包括通用用户模型中的所有内容 我的目标是通过将状态从当前用户模型传递到Type1或Type2模型来升级每种类型用户的用户模型 (用咖啡脚本) 这是实现这一目标的最佳方式吗Javascript 升级模型(backbone.js),javascript,backbone.js,coffeescript,Javascript,Backbone.js,Coffeescript,现在我有一个适用于所有用户的通用用户模型。当用户登录时,确定他们是用户类型1还是用户类型2。这两种类型需要完全不同的模型来表示它们,但仍然包括通用用户模型中的所有内容 我的目标是通过将状态从当前用户模型传递到Type1或Type2模型来升级每种类型用户的用户模型 (用咖啡脚本) 这是实现这一目标的最佳方式吗 谢谢 你可以这么做。您也可以只复制属性: userCopy = new Type1 userCopy.attributes = user.attributes delete user 请注
谢谢 你可以这么做。您也可以只复制
属性
:
userCopy = new Type1
userCopy.attributes = user.attributes
delete user
请注意,无论使用哪种方法,都会丢失事件绑定等。更安全、更具JavaScript-y的方法是只使用附加方法扩展
user
,而不是使用Type1
类。(当然,这也有缺点,比如失去从这些方法调用super
的能力。请参见我对类似问题的回答。)您可以这样做。您也可以只复制属性
:
userCopy = new Type1
userCopy.attributes = user.attributes
delete user
请注意,无论使用哪种方法,都会丢失事件绑定等。更安全、更具JavaScript-y的方法是只使用附加方法扩展user
,而不是使用Type1
类。(当然,这样做也有缺点,例如无法从这些方法调用super
。请参见我对类似问题的回答。)类似问题:类似问题: