1. app.run()でajax経由でユーザー情報を取得するのですが、取得したユーザー情報をコントローラーで使用する必要があるのですが、コントローラーで実行するとアプリ内でユーザー情報が取得されてしまうことがあります。 .run()。ajax 情報がまだ返されていないため、エラーが発生しました。多くの ajax に遭遇すると順序がめちゃくちゃになっているように感じますが、何か良い解決策はありますか?
なぜリクエストデータを run に置く必要があるのですか? js は非同期の問題に注意する必要があります。
コントローラーで ajax を介してデータをリクエストできます ($http を使用することをお勧めします)。データが返される前に、ページにローディング サークルを配置します。データが返された後、ページが更新され、ローディングされます。隠蔽されます。
ルートのresolve属性を使用することもできます。これは、ページをロードする前にデータが取得されるまで待機するためのものです。具体的な使用方法については、ルーティングのチュートリアルを参照してください。
どちらの方法も非常に使いやすいですが、個人的には最初の方法が好きです。
ルーターの解決
コントローラーでの実行中に ajax によって要求された Promise を取得し、そのコールバックにコードを記述することができます。
コントローラーで必要なユーザー情報を監視し、値がある場合にロジックを実行することもできます。
Ajax の実行が完了した後に変数 ok を定義して、成功したかどうかを識別できますコントローラー内で function waitOK() {
}
なぜリクエストデータを run に置く必要があるのですか? js は非同期の問題に注意する必要があります。
コントローラーで ajax を介してデータをリクエストできます ($http を使用することをお勧めします)。データが返される前に、ページにローディング サークルを配置します。データが返された後、ページが更新され、ローディングされます。隠蔽されます。
ルートのresolve属性を使用することもできます。これは、ページをロードする前にデータが取得されるまで待機するためのものです。具体的な使用方法については、ルーティングのチュートリアルを参照してください。
どちらの方法も非常に使いやすいですが、個人的には最初の方法が好きです。
ルーターの解決
コントローラーでの実行中に ajax によって要求された Promise を取得し、そのコールバックにコードを記述することができます。
コントローラーで必要なユーザー情報を監視し、値がある場合にロジックを実行することもできます。
Ajax の実行が完了した後に変数 ok を定義して、成功したかどうかを識別できます
リーリーコントローラー内で
function waitOK() {
}