
vue
zhaohanqq
这个作者很懒,什么都没留下…
展开
-
vue computed计算属性的get和set函数
get和set都是回调函数什么是回调函数:1/你定义的 2/你没有调用 3/但最终执行了关于回调函数需要知道的两个问题:1/什么时候调用 2/用来做什么const vm = new Vue { data: { firstName; ‘A’, lastName: 'B' }, computed: { fullName: { //1/当需要读取当前属性值时调用(初始化)/...原创 2018-11-26 10:42:41 · 6497 阅读 · 0 评论 -
vue
MarkDown支持html语法marked.jsmarked是一个markdown 解析、编译器以下代码是如何将md文件转为htmlimport marked from 'marked'let renderMD = new marked.Renderer();let index = 0;renderMD.heading = function (text, level) { ...原创 2018-12-29 19:06:47 · 234 阅读 · 0 评论 -
$nextTick() 获取的DOM类数组取值有问题(已解决)
mounted() { this.$nextTick(this.init); }, methods: { init() { let imgDomList = document.getElementsByTagName('img'); Array.prototype.slice.call(imgDomList,0).forEach((img, in...原创 2019-01-10 17:12:54 · 345 阅读 · 0 评论 -
vue 压缩图片预览并上传(promise封装)
主要用到filereader、canvas 以及 formdata 这三个h5的api过程大致分为三步:用户使用input file上传图片的时候,用filereader读取用户上传的图片数据(base64格式)把图片数据传入img对象,然后将img绘制到canvas上,再调用canvas.toDataURL对图片进行压缩获取到压缩后的base64格式图片数据,转成二进制塞入formda...原创 2019-01-06 20:42:22 · 829 阅读 · 3 评论 -
关于对vue props值修改的问题,用$emit或pubsub-js代替
vue项目中要使用Element UI组件的对话框Dialog,因为该组件相比其他组件稍微复杂一点,并且有事件需要处理,所以单独写在了一个模板里,需要一个props,从父组件向子组件传递布尔值,是否显示该对话框,并且打算在该子组件里处理取消和确定事件。鉴于vue官方文档说不应该在一个子组件内部改变 prop如果这个 prop 用来传递一个初始值;这个子组件接下来希望将其作为一个本地的 pr...原创 2019-01-02 18:28:47 · 782 阅读 · 0 评论 -
vue cli 3.X项目打包本地查看、上线(nginx反向代理\history模式\微信白屏)
首先本地查看先了解vue.config.js配置项中的publicPath(官网上说的是这个名字,但是用这个名字打包时会非法错误,最后还是用的baseUrl)部署时官网上说如果你已经将 publicPath 配置为了一个相对的值,那就可以直接本地预览(但是不能访问后台接口,只能展示静态页面)由此可知如果你路由里配置成HTML5 History 模式,那是不能使用相对路径的const...原创 2019-01-12 23:34:52 · 799 阅读 · 0 评论 -
vue SPA项目 IOS微信分享文章详情页,但分享链接为主页
IOS:每次切换路由,SPA的url是不会变的,发起签名请求的url参数必须是当前页面的url就是最初进入页面时的urlAndroid:每次切换路由,SPA的url是会变的,发起签名请求的url参数必须是当前页面的url(不是最初进入页面时的)所以IOS需要修正url路径router.beforeEach((to, from, next) => { const agent = ...原创 2019-01-24 13:10:53 · 2545 阅读 · 2 评论 -
vue 事件传递事件参数与其他参数的方法
$event<input type="file" accept="image/*" @change="imageHandle($event, index)" class="originInp">原创 2019-01-09 14:37:14 · 926 阅读 · 0 评论 -
vue prop传参的注意事项
props:{ parentClass: { //驼峰式 type: String } },<swiper parent-class="swipers" /> //不能使用驼峰式 xxx-xxx原创 2019-03-20 09:21:07 · 886 阅读 · 0 评论 -
自定义指令v-tap解决click事件延迟问题 vue
Vue.directive('tap',{ bind:function(el,binding){ let tapObj = {}; let time; el.addEventListener('touchstart',function(e) { let touches = e.touches[0]; ...原创 2019-03-16 12:26:18 · 2516 阅读 · 0 评论 -
element tab选中时会有蓝色边框
解决办法:在commos.scss中加入属性覆盖.theme{ .el-tabs__item:focus.is-active.is-focus:not(:active) { box-shadow: none; } }或者:这里的一定要加上!Important ,因为npm run build 打包代码的时候的,这段代码会被的element ui 框架代码覆盖...原创 2019-04-04 18:19:35 · 4922 阅读 · 0 评论 -
Vue--模仿微信摇一摇--音频播放的坑
let vm = new Vue({ data:{ timer_c: '',//动画定时器 timer_d:'',//数据请求定时器 lastTime:0, lastX:0, lastY:0, lastZ:0, shakeSpeed:3800, animating:false,//...原创 2019-03-28 09:16:13 · 574 阅读 · 0 评论 -
vue+element Form键盘回车事件页面刷新解决
当一个 form 元素中只有一个输入框时,在该输入框中按下回车应提交该表单。如果希望阻止这一默认行为,可以在 标签上添加 @submit.native.prevent。然后再使用@keyup.enter.native事件绑定回车事件<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="130px" cl...原创 2019-04-03 16:11:00 · 353 阅读 · 0 评论 -
vue 生命周期
1/ beforeCreate() 在创建Vue对象之前 ; 用途动画加载2/ created() 组件(Vue的实例化对象)创建好了,属性也绑定了,但是DOM还没生成;用途获取对应的数据,赋给属性,接下来DOM展示,结束loading加载,开始准备渲染DOM3/ 检查有没有“el”或者“$mount”,如果没有,那么生命周期就结束了4/ 检查template有没有组件或者标签,如果没有...原创 2018-11-26 17:17:10 · 102 阅读 · 0 评论 -
使用Promise、axios封装ajax异步请求
先上代码import axios from &amp;amp;quot;axios&amp;amp;quot;export default function ajax(url, data = {}, type = 'GET') { return new Promise(function (resolve, reject) { let promise; if (type === 'GET') { ...原创 2018-12-04 12:26:49 · 2519 阅读 · 0 评论 -
vue 组件间通信 PubSub 发布订阅
很长一段时间在vue开发项目中组件间通信都是通过vuex实现的,有时候开发一个小项目也要用到插入笨重的vuex来实现组件间交互,有没有一个好的插件可以替代vuex,emmmm~,当然有了!今天给大家介绍一下PubSubJS,PubSubJS是什么?可以实现什么功能?看下面的例子实现关闭弹窗model1主页面index.vue代码如下export default { data() { ...转载 2018-11-27 19:30:34 · 2562 阅读 · 0 评论 -
vue-cli 3.0 脚手架配置记录
一/ 在2.X中静态资源文件放在static文件夹中,此文件夹里的东西不会被webpack打包,而在3.X中没有该文件,于是我在根目录新建了一个static文件夹存放reset.css文件,出现了在index.html引入reset无效的问题,经过查资料发现3.X中的public文件夹类似于2.X里的static,最终把reset文件放入public文件夹中成功引入注意:public文件夹下的...原创 2018-12-01 15:01:28 · 262 阅读 · 0 评论 -
在浏览器上安装 Vue Devtools工具
安装教程转载 2018-12-01 17:11:06 · 518 阅读 · 0 评论 -
vue脚手架配置
2.X的脚手架,写的很详细vue-cli配置文件vue-cli3.0配置添加链接描述转载 2018-11-28 20:05:21 · 184 阅读 · 0 评论 -
vue 在某些情况下数据使用前须判断是否有值
从商品列表到商品详情页时,要异步请求数据info,代码如下:<div class="shop-header-discounts"> <div class="discounts-left"> <div class="activity" :class="supportClasses[info.supports[0].type]"> &a原创 2018-12-08 10:08:51 · 3805 阅读 · 0 评论 -
Vue.set()
给state中的一个对象添加新的属性,要用Vue.set(),否则数据更新不会展示到页面上,用法如下:Vue.set(food, 'count', 1) //food是对象,count是属性,1是值原创 2018-12-13 14:34:21 · 230 阅读 · 0 评论 -
vue基于better-scroll制作左右联动滑动页面
界面如下:vue模板&amp;amp;lt;template&amp;amp;gt; &amp;amp;lt;div class=&amp;quot;goods&amp;quot;&amp;amp;gt; &amp;amp;lt;div class=&amp;quot;menu-wrapper&amp;quot;&amp;原创 2018-12-13 14:57:23 · 1493 阅读 · 4 评论 -
vue映射函数mapState mapActions mapMutations mapGetters
通过扩展运算符,将store里的state/actions/mutations/getters的属性或者方法直接映射到当前vue对象的this上,使用时直接this.xxx原创 2018-12-06 18:42:47 · 758 阅读 · 0 评论 -
$nextTick() Swiper轮播组件
在vue中使用Swiper轮播组件,最先想到的是在watch中new一个Swiperwatch: { categorys(value) { new Swiper('.swiper-container', { pagination: { el: '.swiper-pagination', }...原创 2018-12-06 19:55:57 · 790 阅读 · 0 评论 -
vue路由query和params的几种传参方式
在项目中需要路由传参,查看了官方文档以及参考了网上其他资料,现总结如下:一/ params传参占位符:id//声明式&amp;amp;amp;lt;router-link :to=`/home/${name}`&amp;amp;amp;gt; //编程式skipMethod (name) { this.$router.push(`/home/${name}`); //或者 this.$router.pu...原创 2018-12-14 11:40:08 · 523 阅读 · 0 评论 -
vue源码初级解析(数据代理、模板解析、数据绑定、双向绑定)
一、数据代理实现数据代理的核心就是 Object.defineProperty()方法,而IE8及以下是不支持该方法的,所以vue不能用在IE8及以下。回归正题,data里的属性可以直接vm.xxx,那是因为用defineProperty方法将data中的属性增加到vm上了,主要代码如下:Object.keys(data).forEach(function (key) { var me...原创 2018-12-20 21:46:34 · 184 阅读 · 2 评论 -
vue 父组件调用子组件的方法
一般情况,我们从父组件向子组件传递数据会用props,子组件事件想在父组件中执行可以用$emit。现在父组件想用子组件里的一个方法,那怎么办?在父组件里首先得得到子组件对象,点的方式就可以使用子组件方法了,那如何得到子组件对象,必须用ref,简单例子如下:&amp;lt;-- 子组件Food --&amp;gt;methods: { toggleFood () { this.showFo...原创 2018-12-10 11:36:44 · 443 阅读 · 0 评论 -
vue 实现购物车
<template> <div> <div class="shopcart"> <div class="content"> <div class="content-left" @click="toggleShow"> &l原创 2018-12-16 12:46:35 · 289 阅读 · 1 评论 -
在vue cli 3中单独运行.vue文件
首先安装npm install -g @vue/cli-service-global然后执行命令(HelloWorld是vue文件名)npm serve HelloWorld.vue注意:要cd到该文件下原创 2019-04-27 16:00:56 · 1012 阅读 · 0 评论