gpt4 book ai didi

javascript - 对于Backbone.js,如何显示Backbone.Model继承自Backbone.Events?

转载 作者:行者123 更新时间:2023-12-02 19:16:13 25 4
gpt4 key购买 nike

http://addyosmani.github.com/backbone-fundamentals/ ,据说

every single one of the following objects inherits from Backbone.Events:

Backbone.Model
Backbone.Collection
Backbone.Router
Backbone.History
Backbone.View

我还可以在 backbone.js 中找到以下内容:

// Attach all inheritable methods to the Model prototype.
_.extend(Model.prototype, Events, { ....

但是,我尝试检查继承,通过

Backbone.Model.prototype.__proto__ === Backbone.Events

在Firebug中,它显示false,并且

Backbone.Model.prototype.__proto__.__proto__

已经是null,表示原型(prototype)链结束。那么如何体现传承呢?

最佳答案

您引用的页面不正确,Backbone 中没有任何内容继承自 Backbone.Events。然而,Backbone.Events 被混合到其他 Backbone“类”中。您提到的代码:

_.extend(Model.prototype, Events, { ...

并不是设置继承,只是将Events混合到Model的原型(prototype)中,效果类似这样:

for k in Events
Model.prototype[k] = Events[k]

所以只需将Events的方法添加到Model即可。 Backbone document只说了这样一句话:

Backbone.Events

Events is a module that can be mixed in to any object, giving the object the ability to bind and trigger custom named events.

请注意混合术语。

Backbone.Events 甚至不是一个构造函数(它只是一个对象),因此没有任何东西可以继承。

关于javascript - 对于Backbone.js,如何显示Backbone.Model继承自Backbone.Events?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13103684/

25 4 0
文章推荐: javascript - 单击按钮将
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com