我只是想用Ionic和Angular弄湿我的脚。我用ionic start tabs-app tabs --ts
创建了一个Ionic应用程序。然后我创建了一个包含ionic g page event-home
的页面。
接下来,我想将生成的页面设置为我的主页,因此,在不更改任何其他内容的情况下,我将 app.component.ts 更新为
...
import { EventHomePage } from '../pages/event-home/event-home';
...
export Class MyApp {
rootPage:any = EventHomePage;
}
现在,如果我尝试ionic serve
:Error: Uncaught (in promise): Error: No component factory found for EventHomePage. Did you add it to @NgModule.entryComponents?
所以,我尝试将其添加到 app.module.ts 中的entryComponents
:
...
import { EventHomePage } from '../pages/event-home/event-home';
...
@NgModule({
...
entryComponents: [
EventHomePage,
...
]
})
export class AppModule{}
现在我得到Component EventHomePage is not part of any NgModule or the module has not been imported into your module.
所以,尝试做似乎就像一个简单的任务一样,证明是非常困难的。
如何将离子生成的应用程序的主页更改为由ionic生成的页面?
答案 0 :(得分:3)
您还必须导入定义了EventHomePage的模块,或者您必须在app.module.ts的声明中添加EventHomePage
答案 1 :(得分:1)
如果您使用最新版本的ionic-cli
生成了您的网页,则该页面将使用@IonicPage
装饰器创建。如果是这样,您还必须在event-home.module.ts
文件所在的文件夹中包含event-home.ts
文件。
使用该表示法,您不必在app.component.ts
中导入页面组件,但是您将该页面称为字符串:
rootPage:any = 'EventHomePage';
请参阅http://blog.ionicframework.com/ionic-and-lazy-loading-pt-1/和http://blog.ionicframework.com/ionic-and-lazy-loading-pt-2/
答案 2 :(得分:0)
@NgModule({
declarations:[
EventHomePage
],
entryComponents:[
EventHomePage
]})
添加声明也应该有效。