如何将Ionic生成的页面用作应用程序根页

时间:2017-11-21 13:31:10

标签: angular ionic2

我只是想用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 serveError: 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生成的页面?

3 个答案:

答案 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
]})

添加声明也应该有效。