[英]Angular: You provided an invalid object where a stream was expected. You can provide an Observable, Promise, Array, or Iterable
[英]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,但我認為這不是問題嗎?
我得到了這個問題,謝謝,錯誤發生是因為我在將導入takeUntil
為rxjs/internal/operators
后從rxjs/internal/operators
導入了rxjs/operators
,問題解決了。
現在我很困惑,如果一個導入正在開發中工作,它也應該在生產中工作,否則 angular 應該堅持一個導入文件而不是讓人們感到困惑。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.