初識(shí)ionic

ionic官網(wǎng)地址,如何安裝ionic-cli請點(diǎn)擊這里

ionnic常用指令

  • 創(chuàng)建ionic項(xiàng)目:ionic start projectName
  • 創(chuàng)建一個(gè)頁面(即angular中的組件):ionic g page page/pageName
  • 啟動(dòng)ionic項(xiàng)目:ionic serve --open

簡易配置教程

app.module文件是全局配置文件,可在ionicModule.forRoot中進(jìn)行部分配置

  • mode:若值為‘ios’可以設(shè)置在所有機(jī)型中都以ios風(fēng)格展示,解決了風(fēng)格不一致問題。也可以設(shè)置其值為‘md’,設(shè)置為Android風(fēng)格。
  • backButtonText:設(shè)置返回按鈕的文本,可以設(shè)置問空字符串。

使用示例如下:

imports: [BrowserModule, IonicModule.forRoot({mode: 'ios', backButtonText: ''}), AppRoutingModule]

頁面跳轉(zhuǎn)

  • 可在a標(biāo)簽中使用routerlink,其值為所要跳轉(zhuǎn)的頁面的路徑
  • 可以像js用事件跳轉(zhuǎn)那樣,事件綁定ts寫的一個(gè)跳轉(zhuǎn)函數(shù),需要用到NaviController。
  • 上一個(gè)方式NaviController是屬于ionic的方法,他是對angular的Router方法進(jìn)行了封裝,因此還可以使用Router。
NavController簡介

使用NavController需要先注入,其常用的方法如下:

  • back():返回上一頁面
  • navigateForward():前進(jìn)到一個(gè)新頁面
  • navigateRoot():進(jìn)入一個(gè)新頁面并且清除歷史頁面,即不能再返回到之前的頁面了。具體代碼如下:
export class HomePage {
  a = 'color:red';

  constructor(private navController: NavController) {}

  toTest(){
    this.navController.navigateForward('test');
    this.navController.
  }
}

常用組件

  • <ion-back-button slot="start"></ion-back-button>:用于返回上一個(gè)頁面,slot屬性可設(shè)置其位置

模板語法

  • []中括號(hào)可用于值綁定
  • ()小括號(hào)可用于事件綁定
  • [()]可用于屬性的雙向綁定,但綁定是有前提的。雙向綁定的屬性必須有對應(yīng)的change事件才能成功。比如想要雙向綁定一個(gè)[(value)],則其必須有一個(gè)valueChange事件。如果沒有對應(yīng)的change事件怎么辦?這時(shí)候需要自定義change事件,可以在下次筆記中有講解。但是這樣比較麻煩,因此可以使用[(ngModule)]進(jìn)行雙向綁定。
  • 注意:[(ngModule)]不能在form中使用,這是ionic框架限制的。

路由傳值

  • 方式1:頁面的ts文件中使用Route進(jìn)行路由傳值,代碼如下:
  constructor(private router: Router) {}

  toTest(){
    console.log(this.a);
    this.router.navigate(['/test'], {queryParams: {a: 'b'}});

其中參數(shù)有queryParams和params兩種,取值時(shí)分別用queryParams和params

  • 方式2:頁面的HTML文件中利用標(biāo)簽的[routerlink]進(jìn)行值綁定,同時(shí)用[queryParams]或[params]進(jìn)行參數(shù)傳遞。
[routerLink]="['/test,{a,b}]"

路由獲取

-不論用哪種方式傳參,都是在對應(yīng)的接收頁面中進(jìn)行獲取,通常使用 ActivateRoute進(jìn)行獲取。

constructor(private route: ActivatedRoute) {
    console.log(this.route.snapshot.queryParams);
  }

其中根據(jù)傳遞參數(shù)的方式,queryParams可能需要變?yōu)閜arams。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一.課程簡介 (注意:這里的AngularJS指的是2.0以下的版本) AngularJS的優(yōu)點(diǎn): 模板功能強(qiáng)大豐...
    壹點(diǎn)微塵閱讀 1,005評論 0 0
  • 痛點(diǎn)在于開發(fā)環(huán)境吧,base app的下載和gradle編譯都需要較好的外網(wǎng)環(huán)境 環(huán)境準(zhǔn)備 npm install...
    charles0427閱讀 3,563評論 0 16
  • Angular介紹 Angular安裝、創(chuàng)建項(xiàng)目、目錄結(jié)構(gòu)、組件、服務(wù) 創(chuàng)建組件、綁定數(shù)據(jù)、綁定屬性、數(shù)據(jù)循環(huán)、條...
    地瓜的筆記閱讀 676評論 0 2
  • Angular7入門總結(jié)篇 6 2019.01.08 19:34:05 字?jǐn)?shù) 4854閱讀 46093 發(fā)表于 h...
    痞_4fc8閱讀 1,592評論 0 5
  • AngularJS簡介:AngularJS 是一個(gè)為動(dòng)態(tài)WEB應(yīng)用設(shè)計(jì)的結(jié)構(gòu)框架,提供給大家一種新的開發(fā)應(yīng)用方式,...
    程序員米粉閱讀 48,930評論 32 117

友情鏈接更多精彩內(nèi)容