溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

微信小程序的基礎(chǔ)知識有哪些

發(fā)布時間:2021-03-10 11:41:52 來源:億速云 閱讀:188 作者:小新 欄目:移動開發(fā)

這篇文章將為大家詳細(xì)講解有關(guān)微信小程序的基礎(chǔ)知識有哪些,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

資源路徑說明

  • template內(nèi)引入靜態(tài)資源,如image、video等標(biāo)簽的src屬性時,可以使用相對路徑或者絕對路徑

<!-- 絕對路徑,/static指根目錄下的static目錄,在cli項目中/static指src目錄下的static目錄 -->
<image class="logo" src="/static/logo.png"></image>
<image class="logo" src="@/static/logo.png"></image>
<!-- 相對路徑 -->
<image class="logo" src="../../static/logo.png"></image>
  • js文件或script標(biāo)簽內(nèi)(包括renderjs等)引入js文件時,可以使用相對路徑和絕對路徑。js文件不支持使用/開頭的方式引入

// 絕對路徑,@指向項目根目錄,在cli項目中@指向src目錄
import add from '@/common/add.js'
// 相對路徑
import add from '../../common/add.js'
  • css文件或style標(biāo)簽內(nèi)引入css文件時(scss、less文件同理),可以使用相對路徑和絕對路徑。

/* 絕對路徑 */
@import url('/common/uni.css');
@import url('@/common/uni.css');
/* 相對路徑 */
@import url('../../common/uni.css');
  • css文件或style標(biāo)簽內(nèi)引用的圖片路徑可以使用相對路徑也可以使用絕對路徑,需要注意的是,有些小程序端css文件不允許引用本地文件

/* 絕對路徑 */
background-image: url(/static/logo.png);
background-image: url(@/static/logo.png);
/* 相對路徑 */
background-image: url(../../static/logo.png);

生命周期

應(yīng)用生命周期
函數(shù)名說明
onLaunch當(dāng)uni-app 初始化完成時觸發(fā)(全局只觸發(fā)一次)
onShow當(dāng) uni-app 啟動,或從后臺進(jìn)入前臺顯示
onHide當(dāng) uni-app 從前臺進(jìn)入后臺
onError當(dāng) uni-app 報錯時觸發(fā)
頁面生命周期
函數(shù)名說明
onLoad監(jiān)聽頁面加載,其參數(shù)為上個頁面?zhèn)鬟f的數(shù)據(jù),參數(shù)類型為Object(用于頁面?zhèn)鲄ⅲ?/td>
onShow監(jiān)聽頁面顯示。頁面每次出現(xiàn)在屏幕上都觸發(fā),包括從下級頁面點返回露出當(dāng)前頁面
onReady監(jiān)聽頁面初次渲染完成。注意如果渲染速度快,會在頁面進(jìn)入動畫完成前觸發(fā)
onHide監(jiān)聽頁面隱藏
onUnload監(jiān)聽頁面卸載
onResize監(jiān)聽窗口尺寸變化
onPullDownRefresh監(jiān)聽用戶下拉動作,一般用于下拉刷新
onReachBottom頁面上拉觸底事件的處理函數(shù)
onTabItemTap點擊 tab 時觸發(fā),參數(shù)為Object
onShareAppMessage用戶點擊右上角分享
onPageScroll監(jiān)聽頁面滾動,參數(shù)為Object
onNavigationBarButtonTap監(jiān)聽原生標(biāo)題欄按鈕點擊事件,參數(shù)為Object
onBackPress監(jiān)聽頁面返回,返回 event = {from:backbutton、 navigateBack} ,backbutton 表示來源是左上角返回按鈕或 android 返回鍵;navigateBack表示來源是 uni.navigateBack
onNavigationBarSearchInputChanged監(jiān)聽原生標(biāo)題欄搜索輸入框輸入內(nèi)容變化事件
onNavigationBarSearchInputConfirmeds監(jiān)聽原生標(biāo)題欄搜索輸入框搜索事件,用戶點擊軟鍵盤上的“搜索”按鈕時觸發(fā)
onNavigationBarSearchInputClicked監(jiān)聽原生標(biāo)題欄搜索輸入框點擊事件
Vue生命周期
函數(shù)名說明
beforeCreate
created
beforeMount
mounted
beforeUpdate
updated
beforeDestroy
destroyed

路由

uni-app路由統(tǒng)一有框架管理,開發(fā)者需要在pages.json里配置每個路由頁面的路徑及頁面樣式。如仍希望采用 Vue Router 方式管理路由,可在插件市場搜索 Vue-Router。

路由跳轉(zhuǎn)

uni-app 有兩種頁面路由跳轉(zhuǎn)方式:使用navigator組件跳轉(zhuǎn)、調(diào)用API跳轉(zhuǎn)

頁面棧

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

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

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

頁面樣式與布局

單位

px為屏幕像素,rpx響應(yīng)式px,它們之間的換算公式為750 * 元素在設(shè)計稿中的寬度 / 設(shè)計稿基準(zhǔn)寬度

樣式導(dǎo)入
<style>
    @import "../../common/uni.css";
    .uni-card {
        box-shadow: none;
    }</style>
flex布局
<style>/*主要有兩個概念 容器與項目*/
 .container{
    display: flex; 
    flex-direction:row;
    flex-wrap:nowrap;
    flex-flow: row nowrap;/*簡寫方式*/
    justify-content: center;/*定義項目在主軸上的對齊方式*/
    align-items:center;/*定義項目在交叉軸上如何對齊*/}.item {
  order: 1;
  flex-grow:0;/*定義項目的放大比例*/
  flex-shrink:1;/*定義了項目的縮小比例*/
  align-self:auto;/*單個項目有與其他項目不一樣的對齊方式*/}</style>

定義全局變量

  • 共用模塊

  • Vue.prototype

  • globalData

  • Vuex

參考文章 uni-app全局變量的幾種實現(xiàn)方式

class與style綁定

支持?jǐn)?shù)組合對象的方式

計算屬性

計算屬性是基于它們的響應(yīng)式依賴進(jìn)行緩存的

條件渲染

v-if v-show

列表渲染

v-for 注意攜帶key

事件處理

// 事件映射表,左側(cè)為 WEB 事件,右側(cè)為 ``uni-app`` 對應(yīng)事件{
    click: 'tap',
    touchstart: 'touchstart',
    touchmove: 'touchmove',
    touchcancel: 'touchcancel',
    touchend: 'touchend',
    tap: 'tap',
    longtap: 'longtap', //推薦使用longpress代替
    input: 'input',
    change: 'change',
    submit: 'submit',
    blur: 'blur',
    focus: 'focus',
    reset: 'reset',
    confirm: 'confirm',
    columnchange: 'columnchange',
    linechange: 'linechange',
    error: 'error',
    scrolltoupper: 'scrolltoupper',
    scrolltolower: 'scrolltolower',
    scroll: 'scroll'}

表單控件綁定

推薦使用uni-app的表單組件

組件分為全局組件和局部組件

都存在類似的操作,即導(dǎo)入,注冊,使用

常見問題

1、如何獲取上個頁面?zhèn)鬟f的數(shù)據(jù)
onLoad(args)
2、如何設(shè)置全局的數(shù)據(jù)和全局的方法
vuex(uni-app已經(jīng)內(nèi)置了vuex)

uni-app自帶統(tǒng)計平臺,只要稍作配制就可以使用

關(guān)于“微信小程序的基礎(chǔ)知識有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI