問題タブ [angular-lifecycle-hooks]

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 に答える
992 参照

angular - Angular - 共有サービス サブスクライブの動作

Angular を使用して、さまざまなコンポーネントからいくつかの変数を共有するサービスがあります。このような:

次に、コンポーネントからサブスクライブします。このように: コンポーネント 1

そして、別のコンポーネントから変数を次のように変更します: コンポーネント 2

いくつかのボタンを備えたサイドナビゲーション バーがあり、各ボタンは URL と ng コンテンツが読み込まれたコンポーネントを変更します。

ボタンを押してコンポーネント 1 にリダイレクトすると、変数にサブスクライブし、get リクエストが実行されます。すべて順調。

問題は、ボタンを押してコンポーネント 2 にリダイレクトすると、共有変数が変更され、コンポーネント 1 にサブスクライブしているため、get リクエストが再度実行されることです。実際、get リクエストはサブスクライブのコールバックにあります。

しかし、奇妙なのは、コンポーネント 1 がコンポーネント 2 であるため、もうロードされていないことです。コンポーネントが変更されたときに破棄されることは想定されていません。

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

angular - angular 5でngoninitの直後に関数を実行するにはどうすればよいですか

これはライフサイクルフックに関するものです。私の要件は、関数を実行することです。これは、ページの初期化直後のバックグラウンドです。私は ngAfterViewInit() を使用しました。しかし、ngoninit() から見つかった配列を待っていません。

  • 私が ngDocheck() を使用している場合、コードは無限ループに入ります.そして ngViewinit はこの状況に適合しません.助けてください