gpt4 book ai didi

javascript - 扩展 Ember.ArrayProxy

转载 作者:行者123 更新时间:2023-11-28 01:36:31 25 4
gpt4 key购买 nike

如何扩展 Ember.ArrayProxy?我尝试过以下方法:

Ember.ArrayProxy.reopenClass({
flatten: function(){
var r = [];

this.forEach(function(el) {
r.push.apply(r, Ember.isArray(el) ? el.flatten() : [el]);
});

return r;
}
});

但最终编写了以下解决方案:

// Source: https://gist.github.com/mehulkar/3232255
Array.prototype.flatten = Ember.ArrayProxy.prototype.flatten =function() {
var r = [];

this.forEach(function(el) {
r.push.apply(r, Ember.isArray(el) ? el.flatten() : [el]);
});

return r;
};

前面的例子中我遗漏了什么吗?我试图坚持 Ember 的方法,所以我不想使用后者。

最佳答案

如果您使用flattenArrayProxy 的实例上你想使用reopen ,而不是reopenClassreopenClass将方法添加到类本身,也就是说您可以调用 Em.ArrayProxy.flatten()

http://emberjs.jsbin.com/OqUFObeg/1/edit

关于javascript - 扩展 Ember.ArrayProxy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21482425/

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