vue学习总结
g229191727
这个作者很懒,什么都没留下…
展开
-
父组件更新,子组件未更新
项目中,渲染的数据为对象数组arr = [ obj, obj, obj ... ],业务需要要给某个对象obj增加一个属性key;在父组件渲染之前,通过this.$set()方法,给要渲染的数据对象增加属性,保证被vue拦截加了getter和setter。没有通过$set方法增加,或者在渲染之后才增加该属性,导致该属性并不会被vue监听到。但是当在父组件中修改这个属性后,子组件并没有随着更新。...原创 2022-08-04 16:32:52 · 2447 阅读 · 1 评论 -
vue使用keep-alive的include来缓存多个组件时,不生效的大坑
<template> <keep-alive include="a, b, c"> <router-view /> </keep-alive></template>上面这样使用只有第一个组件a能缓存,b和c都不能缓存。切记:使用逗号分隔字符串这种形式,不能有空格<template> <keep-alive include="a,b,c"> <router-view />.原创 2021-12-09 09:49:16 · 2311 阅读 · 2 评论 -
Eelment之Table 表格中的多选
遇到的问题:当tableData数据中有多条数据完全相同时,点击多条中的任一条都会选中完全相同的多条数据。解决办法:在tableData数据中加入能区分不同数据的字段,如index索引。...原创 2019-03-13 11:32:00 · 208 阅读 · 0 评论 -
产品列表中使用v-lazyload插件懒加载img图片,但是当对产品列表重新排序(人气、销量、价格...),产品info信息改变,但是img图片没有发生变化
产品列表中使用v-lazyload插件懒加载img图片,但是当对产品列表重新排序(人气、销量、价格...),产品info信息改变,但是img图片没有发生变化,控制台查看DOM结构,发现DOM绑定的图片链接也没有发生变化,查阅资料找到解决方法:只需在img标签中增加: key=imgUrl,即可实现img图片随数据排序的改变动态切换。<img v-lazy="imgUrl" :key="...原创 2018-08-03 10:09:40 · 1646 阅读 · 0 评论 -
vue中使用过滤器filter处理浮点数小数位数
项目中,在处理购物车数据时,由于价格往往都是浮点数,而JS中对于小数点的精度是无法保证的,所以计算后的浮点数有时候会出现小数位数太多,并不是我们想要的结果,想到使用toFixed() 方法实现保留一定小数位数。因为购物车、订单页等页面都要用到,所以全局注册过滤器filters。1.vue项目中可能需要用到很多filters,所以在src目录下新建一个common/filter目录,在fil...原创 2018-07-30 10:51:52 · 5621 阅读 · 0 评论 -
vue中路由前进到某个页面,后退再前进,页面不刷新问题
项目中,第一次从“购物车”页前进“订单确认”页时,“订单确认”页可以正常加载数据,但是当后退到“购物车”页,重新选择商品后再次进入时,页面没有加载,还是上一次的数据。经过查阅vue相关文档资料,发现可以使用watch 方法监测路由的变化,每当路由发生变化时,执行watch中的代码,重新获取数据即可,关键数据没有清空还是缓存的上一次的数据,所以导致每次加载页面都不会重新渲染数据,所以找到关键数据...原创 2018-07-30 09:36:43 · 6253 阅读 · 0 评论 -
Vue.js devtool插件安装使用遇到的问题
首先确保使用开发版本的vue.js,不能使用min版本 ;确保插件安装成功。1、插件安装后提示“vue.js not detected”解决办法找到Vue.js devtool插件的安装目录。用户可以在插件列表中找到插件的ID,然后在本地电脑搜索ID:nhdogjmejiglipccpnnnanhbledajbpd。windows系统上chrome插件的安装位置C:\Users\用户名\AppDa...原创 2018-07-11 21:13:17 · 1253 阅读 · 0 评论 -
收货地址之Vue地区联动插件vue-area-linkage
最近项目中需要编辑“收货地址”,上网搜索发现了Vue的一款地区联动插件:vue-area-linkage,结合项目记录插件使用过程:该插件基于Element UI,所以必须安装Element UI。1、安装:npm i element-ui vue-area-linkage area-data2、使用:main.js中依赖注入:import ElementUI from 'element-ui';...原创 2018-07-11 19:50:26 · 5033 阅读 · 0 评论 -
vue项目中通过node.js中crypto对数据进行MD5加密
项目开发中,用户注册、登录时,密码需要进行加密后保存到数据库。原因如下:1、预防网站运营内部人员盗取密码。2、预防外部攻击,如果你注册的网站被黑客进行攻击,得到该网站的一些数据,拿到的也是一堆经MD5处理后的字符串。md5是一种常用的哈希算法,主要用于对一些重要数据进行“签名”,得到的“签名”通常都是一个32位的十六进制字符串。注意:密码不要设置的过于简单。用户设置的密码:密码长度要够长,密码里要...原创 2018-07-09 10:28:44 · 3413 阅读 · 0 评论 -
vue脚手架初始化项目中配置文件webpack.prod.conf.js代码含义
'use strict'const path = require('path')const utils = require('./utils')const webpack = require('webpack')const config = require('../config')const merge = require('webpack-merge')const baseWebpa...原创 2018-06-08 19:47:55 · 2201 阅读 · 1 评论 -
vue脚手架初始化项目中配置文件webpack.base.conf.js代码含义
'use strict'const path = require('path')const utils = require('./utils')const config = require('../config')const vueLoaderConfig = require('./vue-loader.conf')function resolve (dir) { return p...原创 2018-06-08 19:30:55 · 2375 阅读 · 0 评论 -
单/双引号多次嵌套问题的两种解决方案:转义和es6模板字符串
JS中:双引号内不能包含双引号,单引号内不能出现单引号。如果遇到多次嵌套时,有以下两个解决方案:1.使用转义符号“\”转义template:'<div @click="school=\'home\'">组件一 {{school}}</div>',2.使用es6模板字符串“``”template: ` <div @click="school='home'">组件一...原创 2018-06-22 16:36:23 · 9866 阅读 · 0 评论 -
vue中的组件以及数据传递
组件化开发的好处:提高开发效率、方便重复使用、便于协同开发、更容易被管理和维护。vue中把一个自定义标签看成一个组件。组件命名规则:1.不能是W3C规定的标准标签如div、p等2.组件名小写,多个单词用“-”连接父子组件之间数据传递父传子:父亲 -> 儿子 -> 孙子 (属性传递)子传父:孙子 -> 儿子 -> 父亲 (事件传递)父传子流程:1) 首先在父组件中引用、注册...原创 2018-06-22 15:33:01 · 333 阅读 · 0 评论 -
基于vue-cli项目bulid后,打开"index.html"页面空白出错显示引用css和js路径错误
使用vue-cli初始化项目,在"build"编译后,打开页面空白,打开"index.html"发现文件所引用的资源文件路径前少了“.”,如下图所示:打开配置文件webpack.base.conf.js查看output的publicPath,发现引入的是config文件夹下的index.js文件中dev和build下的assetsPublicPath,将bulid的assetsPublicPath...原创 2018-06-07 15:28:53 · 1608 阅读 · 1 评论 -
全栈开发之跨域问题
前端:vue-cli+mint-ui+axios后端:node+express+mongoDB前端调用后端接口时出现跨域问题:解决方案:方案1:后端用express写服务时加入跨域头let express = require("express");let app = express();//跨域头app.all('*', function (req, res, next) { res.h...原创 2018-06-12 15:26:00 · 235 阅读 · 0 评论 -
mint-ui中图片懒加载组件lazy load的使用
首先,在入口文件main.js中引用mint-uiimport Mint from "mint-ui"import "mint-ui/lib/style.css"Vue.config.productionTip = falseVue.use(Mint)然后可以在需要图片懒加载的地方使用v-lazy指令。使用步骤:1.为 img 元素添加 v-lazy 指令,指令的值为图片的地址。<ul...原创 2018-06-12 11:26:40 · 7670 阅读 · 0 评论 -
在vue中使用mint-ui swipe遇到的问题
使用步骤:1.安装:npm install mint-ui -S2.引入组件// 完整引入import Vue from 'vue';import Mint from 'mint-ui';import "mint-ui/lib/style.css"Vue.use(Mint);// 按需引入注意:和Element-ui类似,按需引入时需要借助babel-plugin-component插件npm i...原创 2018-06-12 09:38:47 · 11462 阅读 · 0 评论