問題タブ [zonejs]
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 - @Output を直接使用せずに Angular2 で Change Detection が実行されたことをどのように検出しますか?
次のコンポーネント ツリー構造を検討してください。Angular2
D
click to 経由でイベントを発行すると、B
rootangular2
から変更検出が自動的に開始されますA
。直接イベントを発行していなくconsole.log
ても、検出を変更する方法はありますか?D
A
たとえば、D
html
component
のB
しかし、B
そのイベントがさらに進んでいない場合A
、変更検出を実行しているかどうかを判断する方法がありません。
Change Detection
これの動機は、デバッグ目的で実行されているコンポーネントを把握することです
google-maps - Angular2 アプリに JS コンポーネント (Google マップ) を埋め込む/分離するにはどうすればよいですか?
Angular2 アプリ内に Google マップ (API v3) ウィジェットを埋め込もうとしているときに、クリック/ドラッグ エラーが発生することがわかりました。
Angular から分離された Google マップ コンポーネントを埋め込む良い方法があるかどうか知りたいです。スタックトレース (以下) に基づくと、Zone がタスクを呼び出そうとした後、Google マップが予期しない状態に達したようです。
簡単な Plunkr の例 (実行可能): https://plnkr.co/edit/Tg3zwphygrgLUG5mq8Cc
各バグクリック後のバックトレース (README.md 内):
HTML (index.html):
Angular2 ベアボーン アプリ (main.ts)
所見:
- クリックするたびにエラーが発生する
- エラーは重大ではないように思われますが、不安定な状況で続行しないことをお勧めします
- Stacktrace は、Google マップ (_.r.jl @ common.js:244) が Angular2 の Zone (ZoneDelegate.invokeTask @ angular2-polyfills.js) によって呼び出されたタスクに驚いていることを示唆しています。
- ウィジェットは必要最小限のアプリで動作しますが、Angular では文句を言います
angular - 例外: エラー: キャッチされていません (約束されています): 「スタイル」は文字列の配列であると予想されます
angular2「2.0.0-rc.1」に取り組んでいますが、zoneJSは次のエラーを出しています
私のコードは次のとおりです
events - Angular 2 以外のスクリプトを含めると、Angular 2 のイベントが奇妙に延期される
angular 2 beta RC を使用しているときに奇妙な問題が発生しました。angular 2プロジェクトに書いた外部スクリプトを含めると、イベントが延期されます。
たとえば、 https://github.com/tan9/angular-2-samples/tree/event-postponedブランチで行ったように、以下のスクリプトを追加したら、github プロジェクトthelgevold/angular-2-samplesを取り上げます。
angular 2アプリケーションは奇妙な動作を開始します。いくつかのイベントの変更は、別のイベントを手動でトリガーするまでangularによって考慮されません.imgurにアップロードしたこの記録を正しくレンダリングするには、ボタンを2回クリックする必要があります
私が書いた外部スクリプトに何が起こっているのかわかりません.html2canvasを使用してスクリーンショットをキャプチャし、別のWebサービスに送信できるhtml2canvas
とのみに依存する単純なプロジェクトです。es6-promise
バンドルは webpack によってビルドされたもので、browersify を使用してバンドルをビルドしようとしましたが、うまくいきませんでした。
angularjs - Angular2 RC1 に変更された DOM を知らせる方法
これは実際にはhereから派生したものですが、使用例ははるかに単純です。Angular ディレクティブを含む外部から追加された DOM 要素があることを Angular2 に知らせる方法についてです。この場合、クリック イベントがバインドされない新しいクリック ボタンを追加します。Imo Zone はコンポーネントのテンプレートの変更を自動的に検出すると思っていましたが、明らかにそうではありません。ボタンの新しいコンポーネントを作成し、それを介してロードするという莫大なオーバーヘッドなしで、そのコードを機能させることができる人はいますDynamicLoaderComponent
か?
注:私はすでに and を追加NgZone
しChangeDetectorRef
て遊んでいます。どちらも私にとってはうまくいきませんでした。
plunkr の完全な例へのリンクは次のとおりです: plnkr.co/edit/hf180P6nkxXtJDusPdLb
そして、これはコンポーネントからの関連する抜粋です: