簡體   English   中英

為什么 Angular 在使用服務時不更新變量或 Modal,但當我點擊頁面的某個地方時它可以工作

[英]Why Angular not update variable or Modal in using services but its working when I click on somewhere of page

當我使用服務更新我的模態或變量時,它不起作用或沒有錯誤,但是當我單擊頁面上的某處時它正在工作。 請告訴我解決方法。

注:[我也提供系列]

代碼

  orderDetailById:  OrderDetail[];
     loadAllOrderDetail(id) {  
         this.orderService.getOrderDetail(id).subscribe(res=>{
                this.orderDetailById = res as OrderDetail[];
                console.log(this.orderDetailById);
            });
      }

但是當我這樣使用時,它的工作原理是:

  orderDetailById:  Observable<OrderDetail[]>;

但是 Observable 沒有像 (length, every) 等功能,首先檢查附件。

在此處輸入圖片說明

另請參閱此僅 00:11 秒的視頻。 https://youtu.be/sCuMxsp-d4w

在構造函數中注入 ChangeDetectorRef

constructor(
    ...
    private cd: ChangeDetectorRef,
    ...
)

然后將其與檢測更改一起使用

loadAllOrderDetail(id) {
    this.orderService.getOrderDetail(id).subscribe(res => {
        this.orderDetailById = res as OrderDetail[];
        console.log(this.orderDetailById);
        this.cd.detectChanges();
    });
}

我很確定這會對您有所幫助,但您需要了解原因。 也許你改變了檢測策略

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM