使用離子組件構建:初學者指南

什么是離子成分?

Ionic 組件在很大程度上是讓您的混合應用程序變得栩栩如生的因素。 組件為您的應用程序提供用戶界面,Ionic 捆綁了超過 28 個組件。這些將幫助您為您的應用程序創造令人驚嘆的第一印象。

當然,您無法在單個應用程序中使用所有這 28 個組件。如何決定使用哪些?

幸運的是,您幾乎可以在每個應用程序中找到一些組件。在里面 在上一篇文章中,我向您展示了如何使用 Ionic 組件按鈕導航到另一個視圖。創建此按鈕所需的只是以下代碼:

<button ion-button>Navigate to Info</button> 

在這里,我們已經使用了可用的 Ionic 組件之一。這就是 Ionic 的美妙之處:我們不必關心按鈕如何使用 組件構建完成后,我們需要知道的是如何正確使用相關組件。

何時使用離子組件?

作為初學者,我懷疑您開發的應用程序是否會不使用 Ionic 組件。您也可以開發自己的自定義組件,但這是另一天關于 Ionic 和 Angular 高級使用的主題。

說了這么多,我們來看看如何使用 Ionic mobile 中最常用的組件 應用:

幻燈片組件

幻燈片組件通常用作應用的介紹,下面是其常見用法的圖片:

使用離子組件構建:初學者指南

列表組件

列表是您在 Ionic 應用程序中經常使用的組件之一。請看下面的屏幕截圖示例。

使用離子組件構建:初學者指南

向您的項目添加組件

現在我們已經收集了有關 Ionic 組件的一些信息,讓我們嘗試將其中一些“構建塊”組合在一起。讓我們繼續向我們的 Ionic 項目添加一些組件。

我們將使用在上一教程中創建的項目,并且由于主頁?是我們應用的入口點,因此我們將向主頁添加幻燈片。 html 文件來添加我們的幻燈片。為此,我們將導航到 src/pages/home 中的 home.html 文件并對文件進行以下更改:

<ion-header><ion-navbar><ion-title>Welcome</ion-title></ion-navbar></ion-header><ion-content><!-- Start Ionic Slides Component --><ion-slides pager><ion-slide style="background-color: green"><h2>Welcome to Hello World</h2>       <p>Do some reading here and swipe left</p>     </ion-slide><ion-slide style="background-color: blue"><h2>Ionic World</h2>       <p>Some more reading here and swipe left</p>       <p>Swiping right works too :)</p>     </ion-slide><ion-slide style="background-color: red"><h2>Finish</h2>       <p>You can't swipe all day. See more of my app</p>       <button ion-button>Show me more!</button>     </ion-slide></ion-slides><!-- End Ionic Slides Component --></ion-content>

正如您在上面看到的,我們使用幻燈片組件添加了三張幻燈片。這是在 此處內容… 內。您可以根據需要生成任意數量的幻燈片,但出于本示例的目的,我們只創建了三張。

我們將使用另一個 Ionic 組件:列表組件。為此,我們繼續生成一個標題為我的列表的新頁面。您應該記住如何使用以下命令從上一教程中生成新頁面:ionic 生成頁面 my-list。

將新創建的頁面添加到應用程序后,讓我們繼續導航到 my-list.html 并編輯文件,如下所示:

<ion-header><ion-navbar><ion-title>My List</ion-title></ion-navbar></ion-header><ion-content><!-- Start Ionic List Component --><ion-list><ion-item>1</ion-item><ion-item>2</ion-item><ion-item>3</ion-item></ion-list><!-- End Ionic List Component --></ion-content>

將上述代碼添加到您的應用后,您應該能夠看到包含三個項目的列表。現在很好,但我確信您希望在滾動列表時看到一些帶有加速和減速的平滑滾動,對吧?嗯,這很容易實現——我們只需要一個更大的列表!

考慮 my-list.html 文件中的以下代碼:

<ion-header><ion-navbar><ion-title>My List</ion-title></ion-navbar></ion-header><ion-content><!-- Start Ionic List Component --><ion-list><ion-item>1</ion-item><ion-item>2</ion-item><ion-item>3</ion-item><ion-item>4</ion-item><ion-item>5</ion-item><ion-item>6</ion-item><ion-item>7</ion-item><ion-item>8</ion-item><ion-item>9</ion-item><ion-item>10</ion-item><ion-item>11</ion-item><ion-item>12</ion-item><ion-item>13</ion-item><ion-item>14</ion-item><ion-item>15</ion-item><ion-item>16</ion-item><ion-item>17</ion-item><ion-item>18</ion-item><ion-item>19</ion-item><ion-item>20</ion-item></ion-list><!-- End Ionic List Component --></ion-content>

如果您使用上面較長的列表更新文件,您將看到滾動的加速和減速。

現在,這是在我們的項目中創建列表的一種方法,但如果我們需要創建包含更多項目的列表,這看起來會很煩人。這意味著為每一個都編寫 …content… 。幸運的是,有更好的方法,即使作為初學者,在處理大量數據和信息時也應該嘗試遵循相同的方法。

官方 Ionic 文檔展示了如何使用不同的方法用項目填充列表:

<ion-header><ion-navbar><ion-title>My List</ion-title></ion-navbar></ion-header><ion-content><!-- Start Ionic List Component --><ion-list><button ion-item item of items>         {{ item }}         </button>       </ion-list><!-- End Ionic List Component --></ion-content>

上面代碼的神奇之處在于使用了 Angular 指令:*ngFor。我們不會更深入地探討該指令的含義及其用途,但簡而言之,它會迭代數據集合,使我們能夠在應用中構建數據呈現列表和表格。 items 是一個包含我們的數據的變量,并且 item 填充有該列表中的每個項目。如果您想了解有關該指令的更多信息,請查看 Angular 官方文檔。

有了這些知識,我們就可以使用 *ngFor 指令來改進我們的項目。編輯 my-list.html 文件以反映以下內容:

<ion-header><ion-navbar><ion-title>My List</ion-title></ion-navbar></ion-header><ion-content><!-- Start Ionic List Component --><ion-list><ion-item item of items><ion-avatar item-start>           @@##@@         </ion-avatar><h2>{{item.title}}</h2>         <p>{{item.subTitle}}</p>       </ion-item></ion-list><!-- End Ionic List Component --></ion-content>

這里發生了很多事情。 包含一系列 組件。 item-start 屬性意味著頭像將與右側對齊。每個列表項還包含一個標題標簽 (

) 和一個段落標簽 (

)。

因此,基本上,您還可以在列表組件內添加其他組件。看看 Ionic 文檔中的卡片列表示例中如何實現此目的的另一個很好的示例。同樣,在該示例中實現 *ngFor 將會帶來好處。

現在,回到我們的代碼,items 中的 item 包含 titlesubTitle >圖像。讓我們繼續在 my-list.ts 文件中進行以下更改:

export class MyListPage {   items: any;    constructor(public navCtrl: NavController, public navParams: NavParams) {     this.items = [       {         title: 'Item 1',          subTitle: 'Sub title 1',          image: 'https://placehold.it/50'       },       {         title: 'Item 2',          subTitle: 'Sub title 2',          image: 'http://placehold.it/50'       },       {         title: 'Item 3',          subTitle: 'Sub title 3',          image: 'http://placehold.it/50'       },       {         title: 'Item 4',          subTitle: 'Sub title 4',          image: 'http://placehold.it/50'       },       {         title: 'item 5',          subTitle: 'Sub title 5',          image: 'http://placehold.it/50'       },       title: 'item 6',          subTitle: 'Sub title 6',          image: 'http://placehold.it/50'       },       title: 'item 7',          subTitle: 'Sub title 7',          image: 'http://placehold.it/50'       },       title: 'item 8',          subTitle: 'Sub title 8',          image: 'http://placehold.it/50'       },       title: 'item 9',          subTitle: 'Sub title 9',          image: 'http://placehold.it/50'       },       title: 'item 10',          subTitle: 'Sub title 10',          image: 'http://placehold.it/50'       }]     } 

在上面的示例中,我們正在構造函數文件 my-list.ts 中填充項目。這些將顯示在我們的頁面模板(my-list.html 文件)中。該數據可以來自任何來源:本地數據庫、用戶輸入或外部 REST API。但為了這個例子,我們只是對數據進行硬編碼。

結論

雖然我們沒有涵蓋所有 Ionic 組件,但相同的原則也適用于其他組件。我想鼓勵您嘗試并測試其余組件并開始熟悉它們的使用。正如我在開頭提到的,這些組件將成為您將構建的每個 Ionic 應用程序的構建塊!

同時,請查看我們關于 Ionic 應用程序開發的其他一些帖子。

使用離子組件構建:初學者指南

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享