観測可能な角度が期待どおりに機能しない

アレハンドロカンポスパラシオス

新しい製品が到着してもテーブルが更新されない結果を確認するにはリロードする必要がありますが、それは私が望んでいることではありません。私の期待する結果:新しい製品がバックエンドからフロントエンドに追加されたときにテーブルを更新する必要がある場合、これは私のコードです:

Product.service.ts

getProducts(): Observable<Products[]> {
  return this.http.get<Products[]>(this.BASE_URL);
}

Admin-products.component.ts

ngOnInit(): void {
  this.productService.getProducts().subscribe((data) => {
    this.listOfData = data;
    console.log("data", data);
  });
}

Admin-products.component.html

<nz-table
  #sortTable
  [nzData]="listOfData"
  nzTableLayout="fixed"
  nzShowPagination
  nzShowSizeChanger
>
  <thead>
    <tr>
      <th *ngFor="let column of listOfColumn">{{ column.title }}</th>
    </tr>
  </thead>
  <tbody>
    <tr *ngFor="let data of sortTable.data">
      <td>{{ data.name }}</td>
      <td>{{ data.price }}</td>
      <td>{{ data.type }}</td>
      <td>{{ data.category }}</td>
      <td>{{ data.subCategory }}</td>
      <td>{{ data.amount }}</td>
    </tr>
  </tbody>
</nz-table>

ここで何が欠けているのかわかりません。おそらく問題はnodejsのサーバーであり、これはサーバーの応答です。

Nodejsサーバー

router.get("/products", (req, res) => {
  mysqlConnection.query("SELECT * FROM products", (err, rows, fields) => {
    if (!err) {
      res.json(rows);
    } else {
      console.log(err);
    }
  });
});

何か案が?

xDrago

あなたはObersvablesを誤解しています。これらは期待どおりにここで機能し、リクエストが完了するとイベントを発生させるため、データがテーブルに表示されます。ただし、常に最初にリクエストを行う必要があります。新しいデータを「サーバーに要求する」必要があります。

新製品が追加されたことをどのように知る必要がありますか?サーバーはクライアントに「新しいアイテムがあります。送ってください」とは伝えません。

あなたができることは:

  1. setInterval関数を使用してX秒ごとに新しいリクエストを作成し、新製品も取得します
  2. 更新ボタンを追加して、新しいデータを手動で要求します(このボタンは、データを更新するための新しい要求を行います)
  3. Websocketを使用して、新しい製品を作成した直後にクライアントにデータを送信します。

最後のものはもう少し作業が必要です。

最も簡単な方法はsetInterval、更新ボタンを使用または作成することです。setIntervalの例を示します。

myInterval; //You need this to clear it later
...
ngOnInit(): void {
    this.myInterval = setInterval(() => {
      this.productService.getProducts().subscribe(data=> {
        this.listOfData = data;
        console.log('data', data);
      });
    }, 60000)
  } 

ngOnDestroy() {
   clearInterval(myInterval)
}

コンポーネントがアクティブである限り、60秒ごとに新しいデータを要求します。コンポーネントが破棄される間隔をクリアするには、OnDestroyを実装する必要があります。

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

角度ng-repeatが期待どおりに機能しない

分類Dev

Angularで観測可能なMeteorユーザーが期待どおりに反応しない

分類Dev

角度の補間でCSSが期待どおりに機能しない

分類Dev

角度フィルターが期待どおりに機能しない

分類Dev

NSTaskが期待どおりに機能しない/期待される

分類Dev

Javascript機能が期待どおりに機能しない

分類Dev

LESS CSSExtend機能が期待どおりに機能しない

分類Dev

Azuresearchsearch.inの機能が期待どおりに機能しない

分類Dev

Colspanが期待どおりに機能しない(CSSなし)

分類Dev

Angular 6:HttpErrorResponse後に観察可能な非同期バインディングが期待どおりに機能しない

分類Dev

TypescriptnoImplicitAnyおよびnoImplicitReturnsが期待どおりに機能しない

分類Dev

onMouseEnterおよびonMouseLeaveが期待どおりに機能しない

分類Dev

再帰的な `setTimeout`が期待どおりに機能しない

分類Dev

透明な境界線-色が期待どおりに機能しない

分類Dev

透明な境界線-色が期待どおりに機能しない

分類Dev

getAnnotations()が空であり、期待どおりに機能しない

分類Dev

RSpec割り当てが期待どおりに機能しない

分類Dev

SQLクエリが期待どおりに機能しない(初心者の観点から)

分類Dev

__弱い自己が期待どおりに機能しない

分類Dev

ぼかしが期待どおりに機能しない

分類Dev

安心したjsonpathfindAllが期待どおりに機能しない

分類Dev

Sedコマンドが期待どおりに機能しない

分類Dev

db.changeVersionが期待どおりに機能しない

分類Dev

python subprocess.call()が期待どおりに機能しない

分類Dev

onErrorResumeが期待どおりに機能しない

分類Dev

SQL SELECT INTO OUTFILEが期待どおりに機能しない

分類Dev

PrintWriterクラスが期待どおりに機能しない

分類Dev

@JsonInclude(Include.NON_NULL)が期待どおりに機能しない

分類Dev

Java 8のorElseが期待どおりに機能しない

Related 関連記事

  1. 1

    角度ng-repeatが期待どおりに機能しない

  2. 2

    Angularで観測可能なMeteorユーザーが期待どおりに反応しない

  3. 3

    角度の補間でCSSが期待どおりに機能しない

  4. 4

    角度フィルターが期待どおりに機能しない

  5. 5

    NSTaskが期待どおりに機能しない/期待される

  6. 6

    Javascript機能が期待どおりに機能しない

  7. 7

    LESS CSSExtend機能が期待どおりに機能しない

  8. 8

    Azuresearchsearch.inの機能が期待どおりに機能しない

  9. 9

    Colspanが期待どおりに機能しない(CSSなし)

  10. 10

    Angular 6:HttpErrorResponse後に観察可能な非同期バインディングが期待どおりに機能しない

  11. 11

    TypescriptnoImplicitAnyおよびnoImplicitReturnsが期待どおりに機能しない

  12. 12

    onMouseEnterおよびonMouseLeaveが期待どおりに機能しない

  13. 13

    再帰的な `setTimeout`が期待どおりに機能しない

  14. 14

    透明な境界線-色が期待どおりに機能しない

  15. 15

    透明な境界線-色が期待どおりに機能しない

  16. 16

    getAnnotations()が空であり、期待どおりに機能しない

  17. 17

    RSpec割り当てが期待どおりに機能しない

  18. 18

    SQLクエリが期待どおりに機能しない(初心者の観点から)

  19. 19

    __弱い自己が期待どおりに機能しない

  20. 20

    ぼかしが期待どおりに機能しない

  21. 21

    安心したjsonpathfindAllが期待どおりに機能しない

  22. 22

    Sedコマンドが期待どおりに機能しない

  23. 23

    db.changeVersionが期待どおりに機能しない

  24. 24

    python subprocess.call()が期待どおりに機能しない

  25. 25

    onErrorResumeが期待どおりに機能しない

  26. 26

    SQL SELECT INTO OUTFILEが期待どおりに機能しない

  27. 27

    PrintWriterクラスが期待どおりに機能しない

  28. 28

    @JsonInclude(Include.NON_NULL)が期待どおりに機能しない

  29. 29

    Java 8のorElseが期待どおりに機能しない

ホットタグ

アーカイブ