我正在使用angular2和typescript开发nativescript app。
我有imageComponentA,pageComponentB,pageComponentC及其模块(imageModuleA,pageModuleB,pageModuleC)。
pageModuleB,pageModuleC是路由中的页面。
imageModuleA是图像(只是<Image src="src"></Image>
)。
如果我在pageModuleB中声明imageModuleA,如下所示。 应用程序显示imageModuleA没有问题。
像这样的东西
main.ts
import { AppModule } from "./app.module";
platformNativeScriptDynamic().bootstrapModule(AppModule);
app.module (top module)
NgModule
imports [pageModuleB, pageModuleC]
pageModuleB
NgModule
declarations [imageComponentA]
pageModuleC
NgModule
declarations []
然后我想在pageModuleC中重用imageModuleA。 如果我在pageModuleC的模块中声明imageModuleA,则表示'imageComponentA是2个模块的声明的一部分。考虑移动更高的模块'
然后我将imageModuleA一层移到app.module并从pageModuleB中移除了declarion,pageModuleC
app.module (top module)
NgModule
imports [pageModuleB, pageModuleC]
declarations [imageComponentA]
pageModuleB
NgModule
declarations []
pageModuleC
NgModule
declarations []
它编译并运行应用程序但是imageComponentA没有显示。
我认为这是简单的angular2 NgModule的事情。 我做错了什么?更新1
我也尝试在app.module中导入imageModuleA
main.ts
import { AppModule } from "./app.module";
platformNativeScriptDynamic().bootstrapModule(AppModule);
app.module (top module)
NgModule
imports [imageModuleA, pageModuleB, pageModuleC]
declarations []
pageModuleB
NgModule
declarations []
pageModuleC
NgModule
declarations []
答案 0 :(得分:1)
我设法让它发挥作用。我在NgModule中缺少出口
答案 1 :(得分:0)