目录
0、前言
-
最近接触到一个小程序的项目,便开始学习小程序是怎们玩的,其实算算时间也确实要开始接触小程序相关的知识了,早晚跑不了的,选择
uni-app
最为切入点,进行学习使用,初步接触的感受就是和vue关联比较大,在有一定的vue基础的前提下来学,相对来说还是比较容易接受的。换句话来说学习uni-app的前提就是了解一些关于vue的知识。 -
看一端官方介绍
-
什么是uni-app?
uni-app
是一个使用 Vue.js (opens new window)开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、快应用等多个平台。(第一段介绍)
-
1、初体验
1.1开发方式(两种)
-
使用DColud公司提供的HbuilderX来快速开发
-
使用脚手架快速搭建和开发
1.2脚手架搭建项目
-
全局安装
npm i -g @vue/cli
npm install -g @vue/cli@4.5.15
关于脚手架的版本,前面的最新的版本,但是在配置的时候遇到问题大致意思版本太高,出现某种不兼容的情况,所以降级为了下面的版本
-
创建项目
vue create -p dcloudio/uni-preset-vue my-text
-
启动项目
cd my-text
npm run serve
npm run dev:mp-weixin
-
微信小程序开发者工具导入项目
导入之前需要到官网注册账号,并下载开发者工具
2、项目结构介绍
2.1项目目录
3、样式和sass
3.1样式和sass
-
支持小程序的rpx和h5的vw、vh
/* rpx 小程序中的单位 750rpx = 屏幕宽度 */ /*vh就是当前屏幕可见高度的1%,也就是说,height:100vh == height:100%;/* /* vh h5中的单位 100vh = 屏幕宽度 */
-
内置有sass的配置了只需要安装对应的依赖即可 npm i sass-loader node-sass
-
vue组件总在style标签上加入属性 <style lans="sass">
3.2 nvm管理node
-
运行时遇到一些问题,在此做一些记录,关于nvm管理node版本也是第一次遇到,使用过后感觉确实方便,切换版本来去自如。
-
Syntax Error: Error: Node Sass version 7.0.1 is incompatible with ^4.0.0.
node uninstall node-sass npm i -D sass
-
VM57 WAService.js:2 TypeError: Cannot read property 'forceUpdate' of undefined
无AppID
4、基本语法
4.1介绍
-
数据的展示
-
数据的循环
-
条件编译
-
计算属性
4.2数据的展示
-
在js的data中定义数据
-
在template中通过{{数据}}来显示
-
在标签的属性上通过:data-index="数据"来使用
4.3数据循环
-
通过v-for来指定要循环的数组
-
item和index分别为循环项和循环索引
-
:key指的是唯一的属性,用老提高循环效率
4.4条件编译
-
通过v-if来决定显示和隐藏,不适合做频繁的切换显示
-
通过v-show来决定显示和隐藏,适合做频繁的切换显示
4.5计算属性
-
可以理解为是对data中的数据提供了一种加工和过滤的能力
-
通过computed来定义计算属性
5、事件
5.1事件的使用
-
注册事件 @click="handlClick"
-
定义事件监听函数 在“methods"中定义
-
事件的传参
6、组件
6.1组件的简单使用
-
组件的定义
-
在src目录下创建文件加components用来存放组件
-
在components目录下直接新建组件*.vue
-
-
组件的引入
-
组件的注册
-
组件的使用
6.2父传子
-
父页面项子组件通过属性名list传递了一个数组数据
-
子组件通过props进行接收数据
6.3子传父
-
子组件通过出发时间的方式向父组件传递数据
-
父组件通过监听事件的方式来接收数据
this.$emit
6.4全局共享数据
-
童话或Vue的原型共享数据
-
通过globalData共享数据
-
vuex
-
本地储存
6.5组件插槽
-
标签其实也是数据的一种,想实现动态的给子组件传递标签,就可以使用插槽solt
-
通过slot来实现占位符
7、生命周期
7.1介绍
-
uni-app框架内的十名周期结合了vue和微信小程序的生命周期
-
全局的APP中onLaunch表示应用启动时
-
页面中使用onLoad或者onShow分别表示页面加载完毕和显示时
-
组件中使用mounted组件挂载完毕时
-
...