gpt4 book ai didi

javascript - 我如何覆盖默认的主干模型?

转载 作者:行者123 更新时间:2023-11-30 08:58:17 26 4
gpt4 key购买 nike

我想覆盖默认的 Backbone 模型变量 (Backbone.Model) 以使用我自己的自定义验证方法(isValid、validate)并添加一些属性。

_.extend(Backbone.Model, {
isValid: function() { // custom function },
validate: function() { // custom logic }
});

var myModel = Backbone.Model.extend({
// this adds for example properties to my modified Backbone model.
});

不幸的是,这不起作用...当我使用 requirejs 加载“包装器,扩展”-module 并创建一个新的 Model 实例然后调用 validate 时。它说它不知道任何验证函数...

最佳答案

您必须扩展 Backbone.Model.prototype 而不是 Backbone.Model 本身,因为所有方法都是构造函数的原型(prototype)方法,而不是模型的属性。尽管创建一个自定义 BaseModel 来扩展 Backbone.Model 并实现您的自定义逻辑可能是更好的主意,这样如果主干得到更新等,您将避免可能的冲突,即使在这种情况下它们不太可能仍然被认为是更好的练习扩展基本的 Backbone 类而不是修改它们。

关于javascript - 我如何覆盖默认的主干模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11499238/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com