問題タブ [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 に答える
1183 参照

javascript - コンポーネントがAngular 8で表示された後に関数を実行する方法は?

ユーザーがデータをロードする特定のコンポーネントを見た場合にのみ、データをロードしたい。したがって、コンポーネントが表示される前にロードしないでください。

私はこのテンプレートを持っています:

この TypeScript コードでは:

そして、ポイントは次のとおりです。

コンポーネントがユーザーに表示されている場合にのみOtherComponent開始するにはどうすればよいですか? this.load()ユーザーがコンポーネントを非表示にしてから表示した場合、データを再度リロードしたいと思います。

それ自体が表示または非表示になったことを検出するために、コンポーネント内のソリューションが必要です。それは、私には多くのコンポーネントがあり、さまざまなバリエーションでお互いを呼び出しているからです。

ユーザーがコンポーネントを表示したときにのみ起動する Angular ライフサイクル フックはどれですか?

0 投票する
0 に答える
779 参照

angular - Angular 8のBootstrapモーダルダイアログでコンポーネントが表示された後に機能を実行する方法は?

私の Angular プロジェクトにはselect-box、データ モデルからデータを取得するコンポーネントがあります。オプションは基本的にサービスに由来し、選択された値は現在開いているデータ モデルに由来します。

select タグの近くに追加ボタンを実装したいと考えています。ユーザーがこのボタンをクリックすると、選択に表示されているモデルのフォームを含むモーダル ウィンドウが表示されます。ユーザーがモデルの新しいインスタンスをここに追加すると、データがストレージに保存され、select がこの新しいインスタンスで更新されます。

多くの選択フィールドを持つ複雑なフォームを使用します。多くのプラス ボタンが付属しており、多くの作成コンポーネントが開きます。

ユーザーが特定のプラスボタンをクリックするまで、これらのコンポーネントをレンダリングすることを避けたいです。

親コンポーネントの TypeScript コードは次のとおりです。

以下は、select コンポーネントを現在どのように使用しているかの例です。

私の選択ボックス コンポーネントの HTML コードは次のとおりです。

問題はタグの使用にあると思います。これはng-content、レンダリングと同時に着信コードをレンダリングするため<div class="modal" ...>です。

これは、より詳細なコードを含む実際の例です。

app-lang-create-editモーダルが表示されなくなるまでコンポーネントをレンダリングすることを何とか回避できますか?

ユーザーがモーダルダイアログを閉じて再度開くと、毎回再レンダリングしたい。

解決策はありますか?

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

angular - ngDoCheck (Angular9) の実際のユースケース

私はAngularの初心者で、自分で学習しています.ngDoCheckライフサイクルメソッドにこだわっています.

ドキュメントによると:
Angular が単独で検出できない、または検出しない変更を検出して対処します。

親コンポーネント:

親ビュー:

子コンポーネント

私の知る限り、このライフサイクルメソッドを使用して、ngOnChanges がより深いレベルで入力プロパティの変更を検出できないというより深いレベルで最新の変更を取得します。

簡単に言えば、ngOnChanges は、プロパティの参照のみが変更されるプロパティの変更を検出します。

上記の例では、ngDocheck ライフサイクル メソッドはプロパティの最新の変更を取得するために何もしていません。しかし、代わりに、変更検出は、より深いレベルで最新の変更を取得するのに役立ちます

ngDoCheck ライフサイクル メソッドを使用するための正確な使用例を知りたいです。