問題タブ [angular-changedetection]
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.
javascript - onclick 、 onkeydown ... はブラウザの API ですか、それとも JavaScript の API ですか?
zone.js がどのようにブラウザ API (基本的には非同期タスク) にモンキー パッチを適用し、フックをフォークしてアクティビティの開始時と終了時に通知するかを学習していました。
setTimeOut は javascript のものではない browserAPI であるため、Zone はパッチを適用できますが、onclick、onkeydown.............. イベントはどうですか? 私の理解によると、ゾーンはブラウザー API のみにパッチを適用し、ボタンのクリック、キーダウン、またはユーザーの操作を行うと、どのように変更検出がトリガーされるのでしょうか?
それとも私の理解が間違っています。ゾーンはどのイベントにもパッチを適用できますか?
angular - Moment.jsで相対時間表示を自動更新
アイテムのリスト (複数のメッセージを含むチャットと考えてください) が与えられた場合、moment.jsを使用して、各アイテムの相対的な時間 (作成からなど) を表示したいと考えています。
各アイテムには独自のコンポーネントがあり、次のコードを使用して相対時間が表示されます。
pageLoaded
問題は、元の入力 (上記の例) が変更されないため、コンポーネントが相対時間の表示を更新しないことです。
私の質問は次のとおりです。そのようなシナリオに対処するためのベスト プラクティスはありますか? 現在、再レンダリングをトリガーするためにmarkForCheck
ofを使用しています。ChangeDetectorRef
ただし、これがパフォーマンス的に良い方法であるかどうかはわかりません。
Stackblitzで簡単なデモを作成しました。デモでは、前述を使用しmarkForCheck
て更新をトリガーします。
angular - Angular: プリミティブ値のみを持つコンポーネントの OnPush ChangeDetectionStrategy の利点
コンポーネントにプリミティブな値バインディングしかなく、ChangeDetectionStrategy.OnPush を使用する場合、パフォーマンス上の利点はありますか? それとも、この状況にはおそらくいくつかの欠点がありますか?
使用例: