問題タブ [object.observe]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1251 参照

javascript - Ember.js オブジェクトオブザーバーは ES6 Harmony Object.observe と同等ですか?

オブジェクト内の新しい観察 ES6 機能を見て、Ember と ES6 は同等なのか異なるのか疑問に思いました。Ember でWatchjsポリフィルを安全に使用できますか?

0 投票する
2 に答える
4752 参照

javascript - Object.observe() はパフォーマンスにどのように影響しますか?

Object.observe () JavaScript API を使用すると、任意のコードで、任意の JavaScript オブジェクトのすべてのプロパティ変更に関する変更通知を受け取ることができます。

これは、JavaScript エンジン (つまり V8) で実行できるコード生成とパフォーマンスの最適化に深刻な影響を与えませんか? 変更通知を生成する必要がある場合、生成されたネイティブ コードはオブジェクトへのすべての書き込みをチェックする必要があるようです。特定のオブジェクトに通知が設定されているかどうかを静的に判断することはできません。したがって、チェックを最適化することはできません。

準拠している JavaScript エンジンは、この API が原因で永続的かつ重大なパフォーマンスの低下にロックインされているようです。

0 投票する
2 に答える
2236 参照

angularjs - Object.observeはAngularjsに大きな後押しを提供しますか?

現在、Angularは数千のオブジェクトの後で速度が低下しているため、スプレッドシートやコンウェイのライフゲームのようなものを作成できません。

Object.observeが実装されると(遠い、遠い将来)、これらはAngularで可能になりますか?それとも、DOM操作がチョークポイントになるのでしょうか。

0 投票する
1 に答える
1226 参照

javascript - Object.observe と Object.watch の違いは何ですか

Object.watch: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/watch

Object.observe: http://wiki.ecmascript.org/doku.php?id=harmony:observe

どちらも高いレベルで同じことをしているようです。それらの顕著な違いは何ですか?

0 投票する
1 に答える
2833 参照

javascript - TypeError: オブジェクト関数 Object() { [ネイティブ コード] } にはメソッド 'observe' がありません

最近この関数 Object.observe() を知り、アプリに実装してみました。

しかし、上記のエラーが表示されます。

ここで私が見逃しているものに光を当てることができますか。

0 投票する
1 に答える
588 参照

javascript - Object.observe() でのプロパティの上書き

オブジェクトに設定されているすべての関数を上書きするために、 Chrome の実験的なObject.observe()を使用したいと考えています。

→ jsフィドル

残念ながら、コンソールにはまだ「helloWorld() が呼び出されました」と表示されます。オブジェクトオブザーバーで現在変更されている値を実際に上書きすることは可能ですか?

これは実験にすぎないので (本番コードはありません!)、どんな種類の解決策も歓迎します。

0 投票する
2 に答える
640 参照

javascript - 変更ウォッチャーを使用して Object.observe() の下のネイティブ プロパティを観察する

Object.observe()Chrome ではデフォルトでオンになっているため、ブラウザーの組み込みプロパティ ( hiddentitledraggable)を再利用したい場合がたくさんあります*Changedが、プロパティが変更されたときにウォッチャーが呼び出されなくなりました。

一例は次のとおりですhidden: http://jsbin.com/jizikaje/1/edit (hiddenChanged()決して呼び出されません)

私の現在の回避策はattributeChanged()、属性の変化を観察するために使用することです:

推奨されるアプローチは何ですか?


ところで、ネイティブ プロパティを使用しようとしたときに警告をスローすると、デバッグに時間がかかります: https://github.com/Polymer/polymer/issues/379

0 投票する
3 に答える
1196 参照

javascript - 複数の場所から同じオブジェクト/プロパティを監視する最も効率的な「監視」jsは何ですか?

ノードの代わりにECMA7Object.observeまたはMozillaを使用してデータバインディングを行います。Object.watcheventEmitter

についてObject.observeは、Android ブラウザの互換性に関する実装が見つかりません。基本的にはsetTimeoutポーリングを使わなければならないので諦めました。

代わりに、Object.watchChrome のライブラリやネイティブの Firefox などを使用して、ポーリングなしで実行できます。

私が見つけたコードは

これは

ただし、大きな問題が発生します。さまざまな場所に複数のウォッチを実装すると、最初の obj.watch のみがトリガーされ、残りはトリガーされません。

その理由は明らかです。

最初のトリガーで、残りの obj.watch は変更された値を監視するように自動的に設定されます。

テストコード:

結果: エラーは発生しませんでしたが、アラートは 1 回だけ発生しました。

実際、同じオブジェクト インスタンス/プロパティに対して複数の監視ブロックをトリガーできる代替ライブラリ/メカニズムを見つけようとしています。

ここでも、eventEmitter パターンは避けますが、observer パターンは避けます。何か考えはありますか?ありがとう。

0 投票する
1 に答える
262 参照

javascript - Object.observe - 複数のオブザーバーのサポート?

Object.observe()複数の呼び出しを介して複数のオブザーバーを登録できるようになるかどうか (実装されたら) を誰かに教えてもらえますか? それとも最後の1つだけが残りますか?

たとえば、次のようにします。

オブジェクトが更新されたとき、またはのみ、両方の関数が呼び出されmySecondFunctionますか?