1

私のEmberアプリでは、UIに関連しない大量のオブジェクトを操作(並べ替え、フィルタリングなど)する必要があります。それらはたくさんあり、深くネストされているので、私はそれらをEmberオブジェクトとして宣言しませんが、「純粋な」Javascriptオブジェクト(配列と{})として宣言します。すべてのEmberミックスインは必要ありません。

私のアプリは遅くなり始めていました。詳細を調べて、これが私が見つけたものです:

ある時点で私は簡単なことをします:

var b = $.extend(true, [], a); // a is a pure javascript object

しかし、bを調べると、Emberオブジェクトに変更されているように見えます。addArrayObserver、addBeforeObserverなどのプロパティがたくさんあります。

これを防ぐにはどうすればよいですか?

ありがとう

PJ

4

1 に答える 1

0

Emberは、デフォルトのJavascript配列を自動的に拡張して機能を追加するため、。を使用して「純粋な」Javascript配列を作成した場合でも、これらの追加を取得できます[]

Ember.jsが読み込まれる前に構成フラグを設定することで、これらの拡張機能を無効にできます。

window.Ember = {};
Ember.EXTEND_PROTOTYPES = false;

これについては、ガイドページの1つで詳しく説明されています。

于 2013-03-27T12:52:13.557 に答える