まず、このオブジェクトの型が何なのかはっきりとわかりません(おそらく NativeArray ?)。私にとって、ember は、NativeArray mixin を Array.prototype に適用することで、デフォルトの JavaScript 配列をいくつかの mixin でオーバーライドします。
そうは言っても、私のコードでは、次のことを許可して、この種のオーバーライドを行いたいと考えています。
["a", "b", "a"].count("a") // returns 2
私はEnumerable Mixinを再開しようとしていました(私にとっては、この種の機能に適した場所です)
count() メソッドを使用する前に、再開コードが実行されると確信しています。しかし、私はこのエラーが発生します:
Object has no method count().
コードを読むと、mixin を Array.prototype に再適用する必要があるようですが、残念ながらEmber.Enumerable.apply(Array.prototype)
何もしません。
更新: いくつかの記事を読んだ後、プロトタイプを理解し始めました。次のようにして配列に関数を追加できます。
Array.prototype.newFunc = function () {
console.log('bla');
}
しかし、私の場合、たとえば MutableArray を呼び出すことができるようにしたいので、満足のいくものではありませんnewFun()
おそらく、私が望むことを行う唯一の方法は、Enumerable Mixin にカウント メソッドを含めるように PR を作成することです....
他の提案は大歓迎です:)