国产chinesehdxxxx野外,国产av无码专区亚洲av琪琪,播放男人添女人下边视频,成人国产精品一区二区免费看,chinese丰满人妻videos

uni-app 路由

2020-04-02 14:57 更新

路由

uni-app頁(yè)面路由為框架統(tǒng)一管理,開(kāi)發(fā)者需要在pages.json里配置每個(gè)路由頁(yè)面的路徑和頁(yè)面樣式。類似的小程序在app.json中配置頁(yè)面路由相同。所以u(píng)ni-app的路由用法與Vue Router不同,如仍希望采用Vue Router方式管理路由,可在插件市場(chǎng)搜索Vue-Router。

路由路由

uni-app有兩種頁(yè)面路由重定向方式:使用導(dǎo)航器組件擴(kuò)展,調(diào)用API重定向。

頁(yè)面棧

框架以棧的形式管理當(dāng)前所有頁(yè)面,當(dāng)發(fā)生路由切換的時(shí)候,頁(yè)面棧的表現(xiàn)如下:

路由方式頁(yè)面棧表現(xiàn)觸發(fā)時(shí)機(jī)
初始化新頁(yè)面入棧uni-app:的第一個(gè)頁(yè)面
:新頁(yè)面新頁(yè)面入棧調(diào)用API   uni.navigateTo  ,使用組件   <navigator open-type =“ navigate” />
頁(yè)面重啟當(dāng)前頁(yè)面出棧,新頁(yè)面入棧調(diào)用API   uni.redirectTo  ,使用組件  <navigator open-type =“ redirectTo” />
頁(yè)面返回頁(yè)面不斷出棧,直到目標(biāo)返回頁(yè)調(diào)用API   uni.navigateBack   ,使用組件  <navigator open-type =“ navigateBack” />  ,用戶按左上角返回按鈕,安卓用戶點(diǎn)擊物理后退鍵
標(biāo)簽切換頁(yè)面全部出棧,只留下新的標(biāo)簽頁(yè)面調(diào)用API   uni.switchTab   ,使用組件  <navigator open-type =“ switchTab” />   ,用戶切換Tab
重加載頁(yè)面全部出棧,只留下新的頁(yè)面調(diào)用API   uni.reLaunch   ,使用組件   <navigator open-type =“ reLaunch” />

運(yùn)行環(huán)境判斷

開(kāi)發(fā)環(huán)境和生產(chǎn)環(huán)境

uni-app可通過(guò)process.env.NODE_ENV判斷當(dāng)前環(huán)境是開(kāi)發(fā)環(huán)境還是生產(chǎn)環(huán)境。一般用于連接測(cè)試服務(wù)器或生產(chǎn)服務(wù)器的動(dòng)態(tài)切換。

  • 在HBuilderX中,點(diǎn)擊“運(yùn)行”編譯出來(lái)的代碼是開(kāi)發(fā)環(huán)境,點(diǎn)擊“發(fā)行”編譯出來(lái)的代碼是生產(chǎn)環(huán)境
  • cli模式下,是通行的編譯環(huán)境處理方式。
if(process.env.NODE_ENV === 'development'){
    console.log('開(kāi)發(fā)環(huán)境')
}else{
    console.log('生產(chǎn)環(huán)境')
}

如果你需要自定義更多環(huán)境,某種測(cè)試環(huán)境:

  • 假設(shè)只需要對(duì)單一平臺(tái)配置,可以的package.json中配置,在HBuilderX的運(yùn)行和發(fā)行菜單里會(huì)多一個(gè)出來(lái)。https://uniapp.dcloud.io/collocation/package
  • 如果是針對(duì)所有平臺(tái)配置,可以在VUE-config.js中配置。https://uniapp.dcloud.io/collocation/vue-config

快捷代碼塊

HBuilderX中敲入代碼塊uEnvDev,uEnvProd可以快速生成對(duì)應(yīng)development,production的運(yùn)行環(huán)境判定代碼。

// uEnvDev
if (process.env.NODE_ENV === 'development') {
    // TODO
}
// uEnvProd
if (process.env.NODE_ENV === 'production') {
    // TODO
}

判斷平臺(tái)

平臺(tái)判斷有2種場(chǎng)景,一種是在編譯期判斷,一種是在運(yùn)行期判斷。

  • 編譯期判斷編譯期判斷,即條件編譯,不同平臺(tái)在編譯出包后已經(jīng)是不同的代碼。詳見(jiàn):條件編譯
// #ifdef H5
    alert("只有h5平臺(tái)才有alert方法")
// #endif

如上代碼只會(huì)編譯到H5的發(fā)行包里,其他平臺(tái)的包不會(huì)包含如上代碼。

  • 運(yùn)行期診斷運(yùn)行期判斷是指代碼已經(jīng)打入包中,仍然需要在運(yùn)行期判斷平臺(tái),此時(shí)可使用uni.getSystemInfoSync().platform判斷客戶端環(huán)境是Android,iOS還是小程序開(kāi)發(fā)工具(在百度小程序開(kāi)發(fā)工具,微信小程序開(kāi)發(fā)工具,支付寶小程序開(kāi)發(fā)工具中使用uni.getSystemInfoSync().platform返回值重置devtools)。
switch(uni.getSystemInfoSync().platform){
    case 'android':
       console.log('運(yùn)行Android上')
       break;
    case 'ios':
       console.log('運(yùn)行iOS上')
       break;
    default:
       console.log('運(yùn)行在開(kāi)發(fā)者工具上')
       break;
}

如有必要,也可以在條件編譯里自己定義的一個(gè)變量,賦值。在后續(xù)運(yùn)行代碼中動(dòng)態(tài)判斷環(huán)境。



以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)