検索

ホームページ  >  に質問  >  本文

angular.js - 実行順序の問題、angular はバックグラウンドでデータを取得した後にディレクティブをコンパイルする必要があります

ページを開くには、まず $http リクエストを開始してバックグラウンドからデータを取得し、次にデータの特定のフィールドをパラメータとしてコンパイル用のディレクティブに渡す必要があります。

問題は、ページが開かれるとすぐにディレクティブ内のコードが実行されるように見えることです。データがまだ取得されていないため、エラーが報告されます。調整方法は?

試行して成功しました。まずコード データを取得し、次に $compile を使用してディレクティブを動的にコンパイルし、それを dom に追加します。
他の良い方法を知りたいです。

高洛峰高洛峰2823日前754

全員に返信(3)返信します

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-15 17:14:25

    1. Promise を使用して AJAX リクエストをカプセル化し、命令で結果を受け取った後に後続の操作を実行できます。
    2. 命令内で $watch を直接使用して、正しいデータが返されたかどうかを確認してから実行できます。ただし、$watch はデータの更新ステータスを確認するためにのみ使用し、他の操作は実行しないことをお勧めします。

    返事
    0
  • 为情所困

    为情所困2017-05-15 17:14:25

    要件が何であるかが明確ではありません。ディレクティブの値を渡すコンパイルの問題について説明しました。

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-15 17:14:25

    データ オブジェクトを DOM にバインドし、命令を使用して DOM 上のデータを取得し、コントローラーでデータをリクエストする方法を教えてください

    返事
    0
  • キャンセル返事