当前位置:   article > 正文

uni-app总结以及插件的使用_uniapp插件使用

uniapp插件使用

1:uni-app介绍官网网页:

https://uniapp.dcloud.net.cn/

介绍:

uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、快应用等多个平台。

DCloud公司拥有900万开发者、数百万应用、12亿手机端月活用户、数千款uni-app插件、70+微信/qq群。阿里小程序工具官方内置uni-app(详见),腾讯课堂官方为uni-app录制培训课程(详见),开发者可以放心选择。

uni-app在手,做啥都不愁。即使不跨端,uni-app也是更好的小程序开发框架(详见)、更好的App跨平台框架、更方便的H5开发框架。不管领导安排什么样的项目,你都可以快速交付,不需要转换开发思维、不需要更改开发习惯。

 2:利用hbuilderx初始化项目:

hbuilderx的官网:

HBuilderX-高效极客技巧

1.点击hbuilderx菜单栏文件》项目》创建》

选择uni-app,填写项目名称,项目创建的目录:

 2.1项目的目录和文件的引用:

 2.2uni-app和小程序的关联:

 2.3小程序的配置:

 2.4小程序的基础配置:

 

 2.5:小程序的运行以及运行到小程序:

 

 3.button按钮组件的用法:

组件的属性:

 1.button组件默认独占一行,设置size为mini时可以在一行显示多个。

  1. <picker :value="time" v-model="time" @change="time=$event.detail.value" mode="time" start="08:12" end="21:00">
  2. <view class="title">事件绑定</view>
  3. <button v-on:click="num++" size="mini" type="primary">{{num}}事件绑定</button>
  4. <button @click="num++" size="mini" type="warn">{{num}}事件绑定-简写</button>
  5. <button @click="say" size="mini" type="primary">响应函数</button>
  6. <button @click="say('你好,小木')" size="mini" type="warn">响应函数-传参</button>
  7. <button type="primary" @click="doit" :data-title="title">事件对象</button>

2.uni的生命周期:

1。vue的生命周期:

1.创建:beforeCreate

2.创建之后:created:的作用

1.可以使用this.没有dom

2.:可以初始化,注册监听事件

3.开启定时器

4.ajax请求

2.挂载:

1.beforeMount

2.mounted:

作用:1.可以操作dom节点

2.操作dom,ajax请求

3.更新:

1.beforeUpdate

2.updated

4.卸载:

1.beforeDestroy

作用:1.移出事件监听,2.移出停止定时器

2.destroyed

小程序的生命周期:

1函数.名 说明
onLaunch 当uni-app 初始化完成时触发(全局只触发一次)
onShow 当 uni-app 启动,或从后台进入前台显示
onHide 当 uni-app 从前台进入后台
onError 当 uni-app 报错时触发小程序

1.onload:加载

1.能够获取页面的参数

2.开启ajax,定时器,事件监听

3.像vue的created

2.show:显示:播放媒体

3:onReady:准备

1.获取节点信息

2.像vue的mounted

4.onHide:后台运行:

1.停止播放媒体:

5:onUnload:卸载:

1.停止事件监听与定时器


 

小程序的生命周期:

小程序的·全局方法:

onPullDownRefresh:

 onReachBottom 触底刷新:

 onPageSccroll

 路由组件:

1.navigator导航跳转:

2.open-type:打开的类型:

2.路由的传参:

2.接收:

 路由的配置:

获取当前页面getApp:

01 在App.vue 定义globalData:{num:100};

 02:要是用的页面获取app  var app = getApp()

 03:

  1. 获取globalData的值,
  2. onShow(){
  3. this.num = app.globalData.num
  4. },

04:

  1. 更新 globalData的值 addNum(){
  2. app.globalData.num++;
  3. this.num=app.globalData.num;
  4. }

获取页面栈 getCurrentPages:

1.

 2.

uni.navgateBack({delta:page.length})

3.

page[page.length-1]获取当权页面的信息(不要去修改)

uni-app中使用vuex:

1,。在项目中新建文件夹store,在main.js中导入:

1.1在根目录下新建文件夹store,在此目录下新建index,js文件

2.在index,js中导入:

  1. //导入vuex
  2. import Vuex from "vuex";
  3. //导入vue
  4. import Vue from "vue";
  5. //使用vuex
  6. Vue.use(Vuex);
  7. //导出Vuex
  8. export default new Vuex.Store({
  9. //状态
  10. state: {
  11. gTitle: {
  12. //文本
  13. text: "你好vuex",
  14. //颜色
  15. color: "#000",
  16. //字体
  17. fontSize: "25px",
  18. //背景颜色
  19. background: "#00ff00"
  20. },
  21. joks:[],
  22. },
  23. //修改数据得唯一方式
  24. mutations: {
  25. //更新笑话数据
  26. setJoks(stats,data){
  27. stats.joks = data;
  28. },
  29. setSize(state,data){
  30. state.gTitle.fontSize=data+"px"
  31. },
  32. //修改背景颜色
  33. setBackgroundColor(state,data){
  34. state.gTitle.background=data;
  35. }
  36. },
  37. //异步操作
  38. actions: {
  39. //和后端交互,异步操作都会放在actions中
  40. getJok(context,data){
  41. uni.request({
  42. url:"http://520mg.com/mi/list.php",
  43. method:"get",
  44. data:data,
  45. //axios get请求传参用的params post用data
  46. //uni.request post与get传参也是用data
  47. //更加content-type如果是application/json
  48. success:res=>{
  49. console.log(res,"getJok");
  50. //actions去调用mutations
  51. context.commit("setJoks",res.data.result);
  52. }
  53. })
  54. }
  55. },
  56. //内部计算
  57. getters: {
  58. //计算所有笑话字数之和
  59. "totalLen":function(state){
  60. //reduce累计
  61. var count = 0;
  62. for(var i=0;i<state.joks.length;i++){
  63. count+=state.joks[i].summary.length;
  64. }
  65. return count;
  66. }
  67. },
  68. //模块
  69. modules: {},
  70. })

2.在main,js中导入挂载vuex

  1. import App from './App'
  2. // #ifndef VUE3
  3. import Vue from 'vue'
  4. Vue.config.productionTip = false
  5. App.mpType = 'app'
  6. const app = new Vue({
  7. ...App
  8. })
  9. app.$mount()
  10. // #endif
  11. // #ifdef VUE3
  12. import { createSSRApp } from 'vue'
  13. export function createApp() {
  14. const app = createSSRApp(App)
  15. return {
  16. app
  17. }
  18. }
  19. // #endif
  20. import uView from '@/uni_modules/uview-ui'
  21. Vue.use(uView)
  22. //导入vuex
  23. import store from "./store/index.js"
  24. //导入定义全局$store
  25. Vue.prototype.$store=store;

三:使用:

1.mapState,mapGetters, mapActions. mapMutations

  1. <template>
  2. <view>
  3. <view class="title">vuex数据</view>
  4. <!-- 使用vuex的数据 更新样式与文本 -->
  5. <view :style="gTitle">
  6. {{$store.state.gTitle.text}}
  7. </view>
  8. <navigator url="./fontSize">修改文本大小</navigator>
  9. <navigator url="./backgroundColor">修改背景颜色</navigator>
  10. <view>总共有{{$store.state.joks.length}}条笑话</view>
  11. <view>{{totalLen}}个字</view>
  12. <view class="item" v-for="item in $store.state.joks">{{item.summary}}</view>
  13. </view>
  14. </template>
  15. <script>
  16. import {mapState ,mapActions,mapGetters} from "vuex";
  17. export default {
  18. computed:{
  19. ...mapState(["gTitle"]) ,
  20. ...mapGetters(['totalLen']),
  21. },
  22. onLoad() {
  23. //调用getJok方法并传入参数
  24. this.$store.dispatch("getJok",{page:1})
  25. this.getJok()
  26. },
  27. data() {
  28. return {
  29. }
  30. },
  31. methods: {
  32. ...mapActions(["getJok"]),
  33. }
  34. }
  35. </script>
  36. <style>
  37. .item{
  38. padding: 20px 20px;
  39. border-bottom: 1px solid #ccc;
  40. }
  41. </style>

五:uniapp实现自定义组件

1.创建一个与pages平级的components页面:

第二部:找到uni-app官网找到组件

第三部:点击搜索组件并下载:

第四部:把插件导入到components里面:

第五步:然后就可以使用了

第三方插件,UviewUI

uView 2.0 - 全面兼容nvue的uni-app生态框架 - uni-app UI框架

1.支持直接导入,或者下载压缩包

 2.找到官网,组件,安装,配置看完档

 

3.啥也不多了,直接按步骤一步步来就行了

1.在main.js中导入

  1. import uView from '@/uni_modules/uview-ui'
  2. Vue.use(uView)

2.修改uView内置配置方案

  1. import App from './App'
  2. // #ifndef VUE3
  3. import Vue from 'vue'
  4. Vue.config.productionTip = false
  5. App.mpType = 'app'
  6. const app = new Vue({
  7. ...App
  8. })
  9. app.$mount()
  10. // #endif
  11. // #ifdef VUE3
  12. import { createSSRApp } from 'vue'
  13. export function createApp() {
  14. const app = createSSRApp(App)
  15. return {
  16. app
  17. }
  18. }
  19. // #endif
  20. import uView from '@/uni_modules/uview-ui'
  21. Vue.use(uView)
  22. //导入vuex
  23. import store from "./store/index.js"
  24. //导入定义全局$store
  25. Vue.prototype.$store=store;

3.在components中导入countdown插件

<u-count-down :time="30 * 60 * 60 * 1000" format="HH:mm:ss:SSS" autoStart millisecond></u-count-down>

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/716548
推荐阅读
相关标签
  

闽ICP备14008679号