
vue.js学习
coderyy1
这个作者很懒,什么都没留下…
展开
-
uni-app开发微信小程序初体验以及项目目录结构理解
一、uni-app是什么uni-app是一个基于Vue的全平台开发框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉/淘宝)、快应用等多个平台。uni-app官网二、uni-app初体验初始化一个uni-app的方法有两种,1.使用HBuilderX的图形界面2.使用vue-clivue create -p dcloudio/uni-preset-vue my-project需要先安装@vue/cli运行时的原创 2020-10-30 11:03:15 · 956 阅读 · 0 评论 -
Vue2升级到Vue3
最近想玩玩Vue3如题,Vue3已经是beta版了,想玩玩Vue3,就对原来Vue2的项目进行了升级。参考了慕课网Dell Lee的课程内容和Vue3官方文档。一、main.js中的变化从技术上讲,Vue 2 没有“app”的概念,我们定义的应用只是通过 new Vue() 创建的根 Vue 实例。从同一个 Vue 构造函数创建的每个根实例共享相同的全局配置,因此在测试期间,全局配置很容易意外地污染其他测试用例。——Vue3中文文档这其实主要是创建Vue实例时发生了变化。现在使用一个新的全局A原创 2020-10-29 21:38:48 · 10168 阅读 · 0 评论 -
Vue的响应式原理
Vue的响应式原理Tips:根据coderwhy老师的讲解写的通过数据劫持和发布者-订阅者模式来实现。一旦发现属性发生改变就通知订阅者,触发相应的回调,来改变视图。一、数据劫持(Observer)Observer实现对vue各个属性进行监听通过Object.defineProperty方法(定义属性)来劫持属性的getter和setter,监听属性的改变和获取依赖(谁在使用这个值)。Object.defineProperty方法有三个参数,第一个是对象,第二个是key,第三个是value。可以原创 2020-10-16 00:21:21 · 236 阅读 · 0 评论 -
Vue中的一些常用的优化插件
记录一些在Vue开发中常用的优化插件一、Better-Scroll一个非常好用的滚动插件,由于js原生滚动在移动端可能会出现难以滑动或者出现一卡一卡的感觉,所以会使用到一些滚动插件,Better-Scroll就是一个很好的选择。GitHub地址使用方法1.npm install better-scroll --save2.import 导入3.new 一个BScroll实例即可二、FastClick一个用来解决移动端点击延迟的插件。GitHub地址使用方法1.npm insta原创 2020-10-14 18:47:58 · 480 阅读 · 0 评论 -
vue-router中replace当前路由报错
问题在做vue项目时,发现replace到当前路由path时会报错,然后在百度上找了挺久,发现了一个可行的解决方法。解决方法在main.js中添加如下代码即可const originalPush = router.replace;router.replace = function replace(location) { return originalPush.call(this, location).catch(err => err)};...原创 2020-10-14 18:25:36 · 2227 阅读 · 0 评论 -
vue中Toast插件的封装
vue中插件的封装类似于Toast这种功能,最好是封装成一个插件再来使用,更加方便。那么如何在vue中封装插件呢首先要先将对应的组件封装好,有了.vue的组件文件后就可以开始将组件封装成插件了。一、在对应的插件目录下创建一个js文件,一般习惯命名为index.js二、编辑index.js//导入组件import Toast from './Toast'const obj = {}// install方法obj.install = function(Vue) { // 1.创原创 2020-10-14 18:21:26 · 494 阅读 · 0 评论 -
Vuex
Vuex——状态管理模式创建const store = new Vuex.Store({state: { }, mutations: { }, actions: { }, getters: { }, modules: { }})statestate用来存放状态,也就是变量。Vuex 使用单一状态树,每个应用只对应一个vuex对象。创建state: { cartL原创 2020-10-12 16:23:12 · 108 阅读 · 0 评论 -
有关vue组件的强制刷新
问题在做vue小项目的分类页面时,发现在点击相应的类别后详情页面依旧为空,想到是由于数据的异步请求造成。所以想在每次异步请求完成后强制vue刷新一下对应的分类详情页面子组件。三种强制刷新组件的方法1.使用v-if销毁对应子组件再重新创建,该方法不推荐,需要使用watch监听数据的变更。2.使用this.$forceUpdate方法,这个方法可以使当前组件调用这个方法时,重新渲染组件。3.更改key的值可以使组件重新渲染,这是官方推荐的一种方法。解决使用的是第三种方法,也就是修改组件的key原创 2020-10-09 18:48:57 · 387 阅读 · 0 评论 -
关于Better-Scroll的高度计算问题
问题出现在做vue的商城小项目的时候,为了解决原生滚动的问题而使用了Better-Scroll插件。但是使用时发现Better-Scroll的高度计算出了点问题,导致整个内容无法滚动。原因所有的图片都是异步加载的,所以当Better-Scroll计算内容高度时图片的加载可能还没有完成,导致高度计算错误,从而出现内容高度没问题但是却无法滚动的情况。解决方法尝试在创建Better-Scroll对象时使用nextTick()方法来解决该问题,但是没有效果,所以又尝试给了一个200ms延迟,解决了该问题,原创 2020-10-08 18:50:01 · 1562 阅读 · 0 评论 -
学习记录——axios的拦截器
axios的拦截器axios的拦截器有2种,请求拦截和响应拦截。请求拦截请求拦截又分为请求成功拦截和请求失败拦截。基本用法: //请求拦截器,两个参数(请求成功, 请求失败) // 注意:拦截掉之后要将config给返回出去才能完成请求 axios.interceptors.request.use(config => { console.log(config); return config; }, err => { co原创 2020-09-29 20:11:15 · 167 阅读 · 0 评论