當您使用
ionic g page testpage
首先我們需要將其導入app.module.ts
文件
import { TestpagePage } from '../pages/testpage/testpage';
和declarations
陣列和entryComponents
陣列頁面
declarations: [
MyApp,
HomePage,
ListPage,
TestpagePage
],
entryComponents: [
MyApp,
HomePage,
ListPage,
TestpagePage
],
我們不需要將它推入providers
陣列。並舉例來說,如果要導航到主頁此頁面,然後
- >進口testpage在home.ts
文件
import { TestpagePage } from '../testpage/testpage';
和按鈕的單擊事件,
this.navCtrl.push(TestpagePage);
聲明: 在聲明部分,我們需要包含所有組件和d我們創建的指令。如果我們不在這裏包含它們,當我們嘗試使用它們時我們會得到一個錯誤,因爲Angular在我們的代碼中將無法識別它們。
entryComponents: 在entryComponents部分,我們定義了任何只由其類型加載的組件。所有頁面組件都是這種情況,因爲這些都是通過導航控制器加載的 。
聲明式加載的組件(即在另一個組件的模板中被引用)不需要包含在entryComponents數組中。 所以,你可以看到我們有一些重複的地方,我們必須在聲明和entryComponents部分中定義頁面組件。 擁有這個單獨的entryComponents部分的原因是,Angular可以爲應用程序編譯一個包,該包僅包含在應用程序中實際使用的組件 。
提供商: 在供應商部分,我們可以註冊依賴注入服務。當您在應用程序模塊中註冊服務時,它可以在您的應用程序的所有 組件中使用。 但是,我們不需要在這裏包含我們所有的服務,我們也可以決定僅爲其裝飾器中的特定組件註冊服務。
來源:check this URL
感謝 約在標籤,我不明白爲什麼它是一個網頁,當我想添加標籤,以我的應用程序,我必須鍵入「離子摹頁標籤」,但它是一個特定頁面? –
因此,我不必將app.components.ts上的所有頁面都導入?只在app.module.ts中? –
離子g頁面標籤...將在項目中創建一個名爲標籤的頁面..它不會創建標籤結構 –