微信小程式的基礎知識儲備

coldplay.xixi
發布: 2020-08-19 17:07:14
轉載
2624 人瀏覽過

【相關學習推薦:微信小程式開發教學

#資源路徑說明

#template內引入靜態資源,如image、video等標籤的src屬性時,可以使用相對路徑或絕對路徑
  •     
    登入後複製
    js檔案或script標籤內(包括renderjs等)引入js檔案時,可以使用相對路徑和絕對路徑。
  • js檔案不支援使用/開頭的方式引入
  • // 绝对路径,@指向项目根目录,在cli项目中@指向src目录 import add from '@/common/add.js' // 相对路径 import add from '../../common/add.js'
    登入後複製
css檔案或style標籤內引入css檔案時(scss、less檔案同理),可以使用相對路徑和絕對路徑。
  • /* 绝对路径 */ @import url('/common/uni.css'); @import url('@/common/uni.css'); /* 相对路径 */ @import url('../../common/uni.css');
    登入後複製
css檔案或style標籤內引用的圖片路徑可以使用相對路徑也可以使用絕對路徑,需要注意的是,有些小程式端css檔案不允許引用本機檔案

/* 绝对路径 */ background-image: url(/static/logo.png); background-image: url(@/static/logo.png); /* 相对路径 */ background-image: url(../../static/logo.png);
登入後複製

生命週期

應用生命週期

#函數名稱 ##onHide
說明
#onLaunch 當uni-app 初始化完成時觸發(全域只觸發一次)
onShow 當uni-app 啟動,或從後台進入前台顯示

當uni-app 從前台進入後台

onError

當uni-app 報錯時觸發 頁面生命週期 #函數名稱 #onLoad 監聽頁面加載,其參數為上個頁面傳遞的數據,參數類型為Object(用於頁面傳參) onShow 監聽頁面顯示。頁面每次出現在螢幕上都會觸發,包括從下級頁麵返回露出目前頁面 #onReady 監聽頁面初次渲染完成。注意如果渲染速度快,會在頁面進入動畫完成前觸發 onHide 監聽頁面隱藏 ##onUnload onResize ##onPullDownRefresh 監聽使用者下拉動作,一般用於下拉刷新 #onReachBottom 頁面上拉觸底事件的處理函數 ## onTabItemTap onShareAppMessage #onPageScroll #onNavigationBarButtonTap
監聽頁面卸載
#監聽視窗尺寸變化
點選tab 時觸發,參數為Object
使用者點選右上角分享
監聽頁面滾動,參數為Object
監聽原生標題列按鈕點選事件,參數為Object

onBackPress


監聽頁面返回,返回event = {from:backbutton、 navigateBack} ,backbutton 表示來源是左上角返回按鈕或android 返回鍵;navigateBack表示來源是uni.navigateBack

#onNavigationBarSearchInputChanged 監聽原生標題列搜尋輸入框輸入內容變更事件 #原生 #onNavigationBarSearchInputConfirmeds 監聽標題列搜尋輸入框搜尋事件,使用者點擊軟鍵盤上的「搜尋」按鈕時觸發 監聽原生標題列搜尋輸入框點選事件 Vue生命週期 函數名稱 說明 beforeCreate — created — beforeMount — #mounted —
onNavigationBarSearchInputClicked
########################################### ###beforeUpdate######—############updated######—###########beforeDestroy###### —############destroyed######—#############

路由

uni-app路由统一有框架管理,开发者需要在pages.json里配置每个路由页面的路径及页面样式。如仍希望采用 Vue Router 方式管理路由,可在插件市场搜索 Vue-Router。

路由跳转

uni-app 有两种页面路由跳转方式:使用navigator组件跳转、调用API跳转

页面栈


路由方式 页面栈表现 触发时机
初始化 新页面入栈 uni-app 打开的第一个页面
打开新页面 新页面入栈 调用 API uni.navigateTo 、使用组件
页面重定向 当前页面出栈,新页面入栈 调用 API uni.redirectTo 、使用组件
页面返回 页面不断出栈,直到目标返回页 调用 API uni.navigateBack 、使用组件 、用户按左上角返回按钮、安卓用户点击物理back按键
Tab 切换 页面全部出栈,只留下新的 Tab 页面 调用 API uni.switchTab 、使用组件 、用户切换 Tab
重加载 页面全部出栈,只留下新的页面 调用 API uni.reLaunch 、使用组件

运行环境判断

// uEnvDev if (process.env.NODE_ENV === 'development') { // TODO } // uEnvProd if (process.env.NODE_ENV === 'production') { // TODO }
登入後複製

页面样式与布局

单位

px为屏幕像素,rpx响应式px,它们之间的换算公式为750 * 元素在设计稿中的宽度 / 设计稿基准宽度

样式导入

登入後複製

flex布局

登入後複製

定义全局变量

  • 共用模块
  • Vue.prototype
  • globalData
  • Vuex

参考文章 uni-app全局变量的几种实现方式

class与style绑定

支持数组合对象的方式

计算属性

计算属性是基于它们的响应式依赖进行缓存的

条件渲染

v-if v-show

列表渲染

v-for 注意携带key

事件处理

// 事件映射表,左侧为 WEB 事件,右侧为 ``uni-app`` 对应事件{ 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的表单组件

组件分为全局组件和局部组件

都存在类似的操作,即导入,注册,使用

常见问题

1、如何获取上个页面传递的数据
onLoad(args)
2、如何设置全局的数据和全局的方法
vuex(uni-app已经内置了vuex)

uni-app自带统计平台,只要稍作配制就可以使用

uni统计官网地址:tongji.dcloud.net.cn/

以上是微信小程式的基礎知識儲備的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:learnku.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!