Ionic framework 我必须在哪里导入离子3上的页面?

Ionic framework 我必须在哪里导入离子3上的页面?,ionic-framework,ionic3,Ionic Framework,Ionic3,我不太明白,当我用以下命令用Ionic 3创建一个简单的页面时,Ionic g page contact,我到底在哪里链接文件和页面 仅在src/app/app.module.ts上使用此行 import { ContactPage } from '../pages/contact/contact'; 为什么我需要将它推到提供者和声明上呢?我必须为我的应用程序将拥有的所有页面执行此操作 如果我想创建一个指向这个页面的链接,我必须把它也导入主页的typescript文件 感谢您使用 爱奥尼亚g页

我不太明白,当我用以下命令用Ionic 3创建一个简单的页面时,
Ionic g page contact
,我到底在哪里链接文件和页面

仅在src/app/app.module.ts上使用此行

import { ContactPage } from '../pages/contact/contact';
为什么我需要将它推到
提供者
声明
上呢?我必须为我的应用程序将拥有的所有页面执行此操作

如果我想创建一个指向这个页面的链接,我必须把它也导入主页的typescript文件


感谢您使用

爱奥尼亚g页面测试页面

首先,我们需要将其导入到
app.module.ts
文件中

import { TestpagePage } from '../pages/testpage/testpage';
声明
数组和
入口组件
数组中

declarations: [
    MyApp,
    HomePage,
    ListPage,
    TestpagePage
  ],
  entryComponents: [
    MyApp,
    HomePage,
    ListPage,
    TestpagePage
  ],
我们不需要将它推入
提供者
数组。例如,如果您想从主页导航到此页面,则

->在
home.ts
文件中导入测试页

从“../testpage/testpage”导入{TestpagePage}

在按钮点击事件中

this.navCtrl.push(TestpagePage)

声明: 在声明部分,我们需要包含我们创建的所有组件和指令。如果我们不在这里包含它们,我们在尝试使用它们时会出错,因为Angular无法在代码中识别它们

入口组件: 在entryComponents部分中,我们定义了仅按其类型加载的任何组件。这是所有页面组件的情况,因为它们都是 通过导航控制器加载

以声明方式加载的组件(即在另一个组件的模板中引用的组件)不需要包含在entryComponents数组中。 如您所见,我们有一些重复,我们必须在声明和entryComponents部分中定义页面组件。 之所以有这个单独的entryComponents部分,是因为Angular可以为应用程序编译一个只包含组件的包 应用程序中实际使用的

提供商: 在提供者部分,我们可以注册依赖注入服务。当您在应用程序模块中注册服务时,它可以在所有应用程序模块中使用 应用程序中的组件。 但是,我们不需要在这里包含所有服务,我们还可以决定只为其
@component
装饰师


来源:

我们不需要每次创建页面时都将页面导入到
app.module.ts
,这是反
DRY
,无聊且
app.module.ts
变胖

使用新的ionic cli,我们可以生成如下页面:

ionic generate page pagename
这将生成页面以及相应的模块
pagename.module.ts
。然后您可以在
STRING
中按名称从任何其他页面引用它。例如:

this.navCtrl.push("pagename");

谢谢,关于标签,我不明白为什么它是一个页面,当我想在我的应用程序中添加标签时,我必须键入“ionic g page tabs”,但它是一个特定的页面?因此,我不必导入app.components.ts上的所有页面?只有在app.module.ts?g页面选项卡中…才会在项目中创建名为tabs的页面。它不会创建选项卡结构确定谢谢。如果我理解,应用程序中使用的所有页面、组件和提供商都必须导入APP.module?在这个文件中有很多导入是正常的,对吗?是的。。您可以根据需要进行任意数量的导入。。没有限制