vuejsの2つのv-forループ内で関数を実行します

サブモンキー

私はそのような2つのv-forループを持っています:

<div v-for="id in ids">
        <div v-for="data in getData(id)">
              <p>{{data.name}}</p>
        </div>
</div>

1つ目v-forは、内に格納されてdata()いるIDの配列を反復処理します。2番目v-forに、関数によって返される結果を繰り返し処理しますgetData()

axios呼び出しは、IDごとの名前を含む結果の配列を返しますが、<p>タグは名前を表示しません

<script>
    data(){
       id: ['1', '2', '3']
    },
    methods:{
       getData(id){
          //axios call
          return response.data;
       }
    }
</script>
ハミドニアカン

これが問題だと思います:

v-forがメソッドを呼び出すと、axios呼び出しが解決されるのを待たず、すぐに反復できる配列がないため、何も表示できません(表示するものがありません)。 axios呼び出しが解決した場合、v-forが通知を受け取り、テンプレートを更新する方法はありません。したがって、状況は次のようになります。

  1. v-forはメソッドを実行します
  2. メソッドはすぐに配列を返さず、v-forは待つことができません
  3. ここに表示するものはなく、次に進みます

だからここにあなたができることがあります:

  1. v-forをデータオブジェクトの配列にバインドします
  2. axiosの結果を使用して上記の配列を更新します

正常に動作するはずです。コードは次のようになります。

// template
<div v-for="data in axiosResult">
   <p>{{data.name}}</p>
</div>

//script
<script>
data(){
   id: ['1', '2', '3'],
   axiosResult: [],
},
methods:{
   getData(){
      //axios call
      this.id.forEach((id) => {
         //axios function for each id
         axiosCall(id).then((result) => {
          this.axiosResult.push(result);
         });
      });
   }
}
</script>

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

文字列内のwhileループ内で関数を実行しますか?

分類Dev

マスター関数内で2つの関数を実行します

分類Dev

VBAのループ内で2つの関数を実行する

分類Dev

配列からのデータを使用してループ内でセレン関数を実行します

分類Dev

ループ内で複数回呼び出された関数の後にpromise.thenを実行します

分類Dev

Pythonの:Execで関数を作成するには、forループ、クラス内の、関数内で実行しています

分類Dev

Rの関数でdplyrを使用し、次にforループを使用して関数を実行します

分類Dev

ゲームループで関数を実行してから、その関数を終了して別の関数を実行しようとしています

分類Dev

ajaxでループし、関数の実行を順序付けます

分類Dev

data.tableは列のグループで関数を実行します

分類Dev

Pythonで1つのforループで2つの関数を実行する方法

分類Dev

関数が無限ループを実行しています。他の関数は使用できません

分類Dev

列内の一意の文字列をグループ化し、別々の列値で関数を実行する

分類Dev

vuejsのv-checkboxonchangeイベントで2つの関数を呼び出す

分類Dev

Pythonプールは、リスト内の各項目で関数を実行しません

分類Dev

forループ内の非同期関数を連続して実行する

分類Dev

.then()なしで2つの関数を実行します

分類Dev

長さの異なるデータフレームの2つのリストを反復処理し、ループ内でデータフレームとして連結して関数を実行します

分類Dev

AngularJSのng-repeat内で関数を実行します

分類Dev

SQLのカーソル内で関数を実行する方法

分類Dev

Rの列のグループに対して関数を実行します

分類Dev

コンソールの2つの入力間で関数を実行します

分類Dev

AngularJSで2つの関数を次々に実行します

分類Dev

JavaScript は 2 つの関数を onclick で実行します

分類Dev

2つのチェーン非同期関数内および別のループ内で非同期関数をループします

分類Dev

Google Script Appsは、最初の関数内で次の関数を実行します

分類Dev

文字列のリストで定義された長さのループで関数を実行します

分類Dev

そのスコープ内で後で実行するための関数として、ブロック内にコードを格納します

分類Dev

foreachループで複数の関数を実行する

Related 関連記事

  1. 1

    文字列内のwhileループ内で関数を実行しますか?

  2. 2

    マスター関数内で2つの関数を実行します

  3. 3

    VBAのループ内で2つの関数を実行する

  4. 4

    配列からのデータを使用してループ内でセレン関数を実行します

  5. 5

    ループ内で複数回呼び出された関数の後にpromise.thenを実行します

  6. 6

    Pythonの:Execで関数を作成するには、forループ、クラス内の、関数内で実行しています

  7. 7

    Rの関数でdplyrを使用し、次にforループを使用して関数を実行します

  8. 8

    ゲームループで関数を実行してから、その関数を終了して別の関数を実行しようとしています

  9. 9

    ajaxでループし、関数の実行を順序付けます

  10. 10

    data.tableは列のグループで関数を実行します

  11. 11

    Pythonで1つのforループで2つの関数を実行する方法

  12. 12

    関数が無限ループを実行しています。他の関数は使用できません

  13. 13

    列内の一意の文字列をグループ化し、別々の列値で関数を実行する

  14. 14

    vuejsのv-checkboxonchangeイベントで2つの関数を呼び出す

  15. 15

    Pythonプールは、リスト内の各項目で関数を実行しません

  16. 16

    forループ内の非同期関数を連続して実行する

  17. 17

    .then()なしで2つの関数を実行します

  18. 18

    長さの異なるデータフレームの2つのリストを反復処理し、ループ内でデータフレームとして連結して関数を実行します

  19. 19

    AngularJSのng-repeat内で関数を実行します

  20. 20

    SQLのカーソル内で関数を実行する方法

  21. 21

    Rの列のグループに対して関数を実行します

  22. 22

    コンソールの2つの入力間で関数を実行します

  23. 23

    AngularJSで2つの関数を次々に実行します

  24. 24

    JavaScript は 2 つの関数を onclick で実行します

  25. 25

    2つのチェーン非同期関数内および別のループ内で非同期関数をループします

  26. 26

    Google Script Appsは、最初の関数内で次の関数を実行します

  27. 27

    文字列のリストで定義された長さのループで関数を実行します

  28. 28

    そのスコープ内で後で実行するための関数として、ブロック内にコードを格納します

  29. 29

    foreachループで複数の関数を実行する

ホットタグ

アーカイブ