関数を呼び出す角度の無限ループ

CS_student

いくつかのAngularプロジェクトでは、同じ問題が発生します。HTML内で関数(APIから値を取得する)を呼び出そうとすると、無限ループがトリガーされます。以下の例では、ループをトリガーするのはgetUser()です。

HTML

<ul>
    <li *ngFor="let order of orders">
        {{ getUser(order.orderNr).emailAddress }}
    </li>
</ul>

成分

private getOrdersList() {

    this.orderService.getAll().subscribe(
        orders => {
            this.orders = orders;
        }
    );
}

public getUser(orderNr: number) {
    return this.orderService.getUser(orderNr);
}

サービス

public getAll(): Observable<Order[]> {
    return this.api.get<Order[]>('orders');
}

public getUser(orderNr: number) {
    return this.api.get<void>('orders/'+orderNr);
}

Angularがデータを処理する方法と関係があると思いますが、私はAngularにかなり慣れておらず、ループを発生させずにこのデータを取得する方法がわかりません。おそらく、より経験豊富な誰かがいくつかの助けを提供することができますか?

GünterZöchbauer

これは無限ループではなく、Angularsの変更の検出にすぎません。

開発では、各変更検出の実行も2番目のターンに続きます。変更検出は、非同期呼び出し(イベントハンドラー、タイムアウトなど)が完了すると実行されるため、非常に頻繁に発生する可能性があります。

通常、ビュー内の関数へのバインドは避け、代わりに結果をフィールドに割り当て、代わりにそのフィールドにバインドする必要があります。Angularは、フィールド値が変更されたかどうかを非常に効率的にチェックします。

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

ng-repeat / ng-classが$ httpを呼び出す関数を呼び出すときの無限ループ

分類Dev

関数を呼び出すときのAngularJSの無限ループの呼び出し?

分類Dev

Angular.js呼び出し関数の無限ループ

分類Dev

ポストでの関数呼び出しを伴う無限ループ

分類Dev

heightForRowAtIndexPathで関数を呼び出している間の無限ループ

分類Dev

ベースケースでも再帰関数を呼び出すときの無限ループ

分類Dev

関数を呼び出した後、なぜ無限ループに陥るのですか?

分類Dev

Pythonの無限ループでX回ごとに1回だけ関数を呼び出す方法は?

分類Dev

whileループから関数を呼び出すと、無限ループが発生します

分類Dev

ServiceNow:コールバック関数でonSubmitを呼び出すと、無限ループが発生します

分類Dev

無限ループで呼び出されるFirebaseCloud関数

分類Dev

関数を呼び出す代わりに、プログラムが無限ループに入りますか?

分類Dev

角度変換関数は無限に呼び出されます

分類Dev

Angular関数が無限ループで呼び出されるのはなぜですか?

分類Dev

myFunc&で呼び出される無限ループ関数を停止する方法

分類Dev

値を使用して関数を呼び出し、RESTNodejsからデータを取得するときの無限ループ

分類Dev

TCL-スクリプトが無限ループに入った場合に特定の関数を呼び出す

分類Dev

関数を呼び出す角度マットツールチップ

分類Dev

別の関数変数を呼び出すforループ

分類Dev

API呼び出しでFutureBuilderを使用する際の無限ループ

分類Dev

自分自身を呼び出すことによるSubMain()の無限ループ?

分類Dev

API呼び出し角度2内の関数を呼び出す

分類Dev

JavaScriptのforループ内で非同期関数を呼び出す

分類Dev

Lispのforループ内で関数を呼び出す方法は?

分類Dev

for ループの完了後に関数を呼び出す

分類Dev

useStateフックがmap関数内で呼び出され、無限ループが発生します

分類Dev

角度2アプリで非角度関数を呼び出す

分類Dev

React:パラメータを使用して関数を呼び出すと無限ループが発生します

分類Dev

子関数コンポーネントを使用してsetState()を呼び出すと、無限ループが発生します

Related 関連記事

  1. 1

    ng-repeat / ng-classが$ httpを呼び出す関数を呼び出すときの無限ループ

  2. 2

    関数を呼び出すときのAngularJSの無限ループの呼び出し?

  3. 3

    Angular.js呼び出し関数の無限ループ

  4. 4

    ポストでの関数呼び出しを伴う無限ループ

  5. 5

    heightForRowAtIndexPathで関数を呼び出している間の無限ループ

  6. 6

    ベースケースでも再帰関数を呼び出すときの無限ループ

  7. 7

    関数を呼び出した後、なぜ無限ループに陥るのですか?

  8. 8

    Pythonの無限ループでX回ごとに1回だけ関数を呼び出す方法は?

  9. 9

    whileループから関数を呼び出すと、無限ループが発生します

  10. 10

    ServiceNow:コールバック関数でonSubmitを呼び出すと、無限ループが発生します

  11. 11

    無限ループで呼び出されるFirebaseCloud関数

  12. 12

    関数を呼び出す代わりに、プログラムが無限ループに入りますか?

  13. 13

    角度変換関数は無限に呼び出されます

  14. 14

    Angular関数が無限ループで呼び出されるのはなぜですか?

  15. 15

    myFunc&で呼び出される無限ループ関数を停止する方法

  16. 16

    値を使用して関数を呼び出し、RESTNodejsからデータを取得するときの無限ループ

  17. 17

    TCL-スクリプトが無限ループに入った場合に特定の関数を呼び出す

  18. 18

    関数を呼び出す角度マットツールチップ

  19. 19

    別の関数変数を呼び出すforループ

  20. 20

    API呼び出しでFutureBuilderを使用する際の無限ループ

  21. 21

    自分自身を呼び出すことによるSubMain()の無限ループ?

  22. 22

    API呼び出し角度2内の関数を呼び出す

  23. 23

    JavaScriptのforループ内で非同期関数を呼び出す

  24. 24

    Lispのforループ内で関数を呼び出す方法は?

  25. 25

    for ループの完了後に関数を呼び出す

  26. 26

    useStateフックがmap関数内で呼び出され、無限ループが発生します

  27. 27

    角度2アプリで非角度関数を呼び出す

  28. 28

    React:パラメータを使用して関数を呼び出すと無限ループが発生します

  29. 29

    子関数コンポーネントを使用してsetState()を呼び出すと、無限ループが発生します

ホットタグ

アーカイブ