【发布时间】:2013-09-04 19:01:16
【问题描述】:
我有一个关于作为 Knockout Objects 原型的函数的一般性问题。目前,我很幸运使用以下方法来扩展对象的原型,但是我很好奇这样做会遇到什么好处和/或陷阱。
ko.utils.extend(objectModel.prototype, {
makeAlert: function() {
console.log('alert');
},
makeWhoopie: function() {
console.log('whoopie');
},
});
另一种方式是常见的js方法
objectModel.prototype.makeAlert = function() { console.log('alert'); }
objectModel.prototype.makeWhoopie = function() { console.log('whoopie'); }
我使用 ko.utils.extend 方法的唯一其他方法是在实现验证时。
问题:用于扩展原型的淘汰工具方法是否会带来任何认为不必要的额外开销?有没有首选的方法?我这样做喜欢将我的方法与我的 observables 分开。
【问题讨论】:
-
你检查过ko.utils.validation的source吗?
-
不错的链接,但这与我的问题无关。
-
嗯,“验证”一词在 @nemesv 的评论中放错了位置,但链接似乎很有用:
ko.utils中的extend方法看起来根本不会带来太多开销,回答你的两个问题中的第一个。 -
只是想就这个话题达成共识......到目前为止一切都很好。这种模式在我所有的 ko 声明的封闭性和简洁性方面效果很好。
标签: knockout.js prototype extending