検索

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

angular.js - angularjs データ送信の問題

コントローラーをロードする前にサーバーからデータを取得する方法はありますか?コントローラー内で値が保証されるようにするためですか? (大きな頭、黒い線...)

ファクトリー gData は次のように定義されます

リーリー リーリー リーリー

対処法を教えてください。 ? ? (泣) 2日間色々な方法でやってます

別の問題があります。ユーザーの下のコントローラーの myapp で定義されている $rootScope では、実際には検索を解除するように求められます。

我想大声告诉你我想大声告诉你2800日前487

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

  • 高洛峰

    高洛峰2017-05-15 17:11:07

    うーん…こんな感じ?試してみてください、私の最初の直感、何をすればよいかわかりません = = 直感のためのプログラム、間違っていても私を責めないでください

    リーリー

    返事
    0
  • PHP中文网

    PHP中文网2017-05-15 17:11:07

    うーん、それが普通ですね。

    promise オブジェクト を返します。データは返さず、直接 return $http.get(xxx); を返しますpromise对象,不要返回data,直接return $http.get(xxx);

    后面调用factory的时候直接。

    factory.func().then(data) {
        //你的逻辑
    }

    非常规思路,以前干过...

    1. 在factory给个回调方法参数,在请求完成后,调用回调,把userInfo放到参数中。

    2. 添加一个$watch,在有值后(change会触发,记得要判断不为空,貌似初始化的时候也会触发watch),进行处理。记得处理完后后删除watch,调用后会返回var unwatch = $watch()的方法,直接unwatch();

      後で工場に電話するときに直接。
    3. リーリー
    4. 型破りなアイデア、以前にもやったことがあります…

      <オル>

    5. ファクトリでコールバック メソッドのパラメータを指定します。リクエストが完了したら、コールバックを呼び出し、パラメータに userInfo を入れます。
    🎜 🎜🎜 $watch を追加し、値が入ったら処理します (変更がトリガーされます。空でないことを忘れずに確認してください。初期化中にも watch がトリガーされるようです)。処理後にウォッチを削除することを忘れないでください。呼び出した後は、unwatch(); メソッドを直接実行するだけです。 🎜🎜 🎜🎜イベントを送信します (工場では機能しないはずです)? 。 🎜🎜 🎜

    返事
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-15 17:11:07

    Promise を知っているかどうかわかりませんが?
    $http.get() メソッドは Promise を返します。Promise がわからない場合は、まず Google で調べてください
    次のようなアイデアがあります:

    リーリー

    返事
    0
  • キャンセル返事