簡體   English   中英

Angular,您提供了一個無效的對象,其中只在 --aot build 中需要流

[英]Angular, You provided an invalid object where a stream was expected only in --aot build

在我的 Angular 應用程序中,我僅在 aot 構建中收到以下錯誤。

您在需要流的地方提供了一個無效的對象。 您可以提供 Observable、Promise、Array 或 Iterable。

在調試錯誤后說它在下面的代碼中的某個地方

<ng-template #leftNavbar>
  <cust-sidebar name="navbar"
     [folded]="false"
     lockedOpen="gt-md"
     *ngIf="!conf.layout.navbar.hidden">
    <navbar class="left-navbar" [ngClass]="conf.layout.navbar.background" layout="vertical"></navbar>
  </cust-sidebar>
</ng-template>

並且 ERROR 還指向cust-sidebar ngOnInit的以下代碼

this._custConfigService.config
        .pipe(takeUntil(this._unsubscribeAll))
        .subscribe((config) => {
            this._conf = config;
        });

這是我用於獲取和設置config配置服務代碼

set config(value)
{ 
    let config = this._configSubject.getValue();

    config = _.merge({}, config, value); 
    this._configSubject.next(config);
}

get config(): any | Observable<any>
{
    return this._configSubject.asObservable();
}

我的代碼有什么問題以及為什么我只在 --aot build 中而不是在正常構建中得到它。

檢查這個答案

他說他有兩個不同版本的 CLI,在更改了對他有用的 CLI 版本后,我也有兩個不同版本的 CLI,但我認為這不是問題嗎?

我得到了這個問題,謝謝,錯誤發生是因為我在將導入takeUntilrxjs/internal/operators后從rxjs/internal/operators導入了rxjs/operators ,問題解決了。

現在我很困惑,如果一個導入正在開發中工作,它也應該在生產中工作,否則 angular 應該堅持一個導入文件而不是讓人們感到困惑。

暫無
暫無

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

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