iT邦幫忙

0

Angular lazy loading 共用component

https://blog.johnwu.cc/article/angular-4-lazy-loading-shared-module.html

這邊大大有介紹共用pipe,但想請問如和共用component,載入同樣的component也會有類似的問題。routerlink轉跳時會出問題。

在shared裡面import某個component在exports出去似乎不是這樣用的

@NgModule({
  imports: [
    AComponent,
  ],
  declarations: [
  ],
  exports: [
    AComponent
  ]
})

1 個回答

0
aa71435723
iT邦新手 5 級 ‧ 2018-10-23 14:04:32

Imports是給module用的,
component是要被放在declarations的宣告區塊裡面,
把你的AComponent放到declarations裡就可以了。

看更多先前的回應...收起先前的回應...
Zaku iT邦新手 4 級 ‧ 2018-10-23 16:56:23 檢舉

放在shared module的declarations?

Zaku iT邦新手 4 級 ‧ 2018-10-23 17:17:26 檢舉

看來不行ERROR Error: Uncaught (in promise): Error: Type 某個component is part of the declarations of 2 modules:shared的module and 某個component的Module!

你很確定你沒有別的地方把AComponent放進declarations?
因為我也就只能根據你的貼圖看到這個問題。

Zaku iT邦新手 4 級 ‧ 2018-10-24 10:52:28 檢舉

我需要共用所以需要放載兩個以上的地方,1. shared module要放,2. 要共用的lazy loading的 module也需要放,不然抓不到這個共用的component。

沒錯都要放,但就只需要import shared module就可以了。
因為在他裡面declarations過了。

Zaku iT邦新手 4 級 ‧ 2018-10-25 13:38:02 檢舉

奇怪那都shared了,為何他說不能同時放,所以這樣shared出去理論上component是可以共用的沒錯?

我要發表回答

立即登入回答