我有几个淘汰模型,我在我的网站上使用。假设对于给定的模型,我有一个属性
function modelA {
this.doSomething = function () { ... };
}
现在我想在不同的模型中使用 doSomething() 函数。我想这样做,这样我就没有义务在每个需要它的模型中重写 doSomething() 。理想情况下,如果此功能在 ko.applyBindings(new modelX()) 被调用后立即可用,我希望它。
我知道我可以从原型继承函数,但这也会导致每个模型中的重复代码。有没有办法改变 knockout.js 以将此属性注入所有模型对象?
编辑:
如果有一种不同的方法可以实现我的预期目标,我将详细说明该预期目标。我们使用 knockout-validation.js,它允许我对已扩展验证规则的模型中的每个属性调用 isValid()。我想在每个模型上附加一个函数来检查模型中的其他属性,并在它们上调用 isValid() 。这样我就可以编写一个可以用于每个模型的通用验证函数,而无需显式地将其添加到模型中。