其实不只是vue,react中在执行列表渲染时也会要求给每个组件添加上key这个属性. 要解释key的作用,不得不先介绍一下虚拟DOM的Diff算法了. 我们知道,vue和react都实现了一套虚拟DOM,使我们可以不直接操作DOM元素,只操作数据便可以重新渲染页面.而隐藏在背后的原理便是其高效的Diff算法. vue和react的虚拟DOM的Diff算法大致相同,其核心是基于两个简单的假设: 1. 两个相同的组件产生类似的DOM结构,不同的组件产生不同的DOM结构. 2. 同一层级的一组节点,…
其实在去年小颖已经写过一篇:Vue.js实现checkbox的全选和反选 小颖今天在跟着慕课网学习vue的过程中,顺便试试如何在table中实现全选和反选,页面的css样式是直接参考慕课网的样式写的,js是小颖自己写哒,欢迎大家吐槽和点赞,嘻嘻 慕课网demo的  git 地址:ShoppingCart 页面效果: 具体怎么实现的呢? 因为上篇文章:使用localstorage来存储页面信息 中已经有写项目是怎么创建的所以小颖在这里就不重复了,其实只是在上篇文章的基础上稍微做了改动: App.v…
1,在初始文件index.html中加入要引入的模块,注意驼峰命名的方式(我就是没写成驼峰,报错) <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1.0"> <title>my-first-…
第一步:安装jQuery npm/cmpn方式安装(默认安装1.7.X版本的JQ) npm/cnpm install jQuery 如果想安装更高版本的JQ那么可以选择在package.json文件下面这个位置添加代码断(当前图片安装的是2.2.3版本,如果想安装更高或者其他可以更改版本号) 然后在命令行窗口中输入指令,即可完成安装 npm install 第二步:更改webpack.base.conf.js文件 在文件指定位置添加代码 var webpack = require('webpac…
我写了一个M端播放音乐的组件,使用html5的audio标签 然后我使用watch监测currentSong 在浏览器中看到audio渲染的如下: 单独访问渲染出来的audio中url可以播放音乐,为什么调用:this.$refs.audioRef.play()方法不能播放音乐? 回答:ios? 如果是ios的话有限制.媒体的播放操作需要放在交互事件的回调函数里才能生效.…
1.首先配置路由, import Vue from 'vue' import Router from 'vue-router' Vue.use(Router) export default new Router({ routes: [ { path: '/', name: 'home', component: require('../components/home.vue'), children: [ { path: 'user', name: 'user', component: requir…
如果是刚配置好的全局变量需要 重新启动一下vue才能通过proccess.env.xxx 获取到 如果想在html中使用 需要在data中声明一个变量 然后在vue生命周期中 将process.env.xxx 赋值给这个变量 例如我在 .env.dev 文件中刚配置了一个 上传文件 的url // 测试环境标记 package.json用 VUE_APP_MODE = 'dev' NODE_ENV = 'development' // 测试环境 url请求路径 VUE_APP_URL = 'ht…
转自:http://blog.csdn.net/sinat_35512245/article/details/53966788 Vue2.0的代码中发现 $key这个值并不能渲染成功,问题如下:但是vue1.0是可以的 结果这个对象的key值并不能够显示: 后来查阅了文档才知道,这是因为在Vue2.0中,v-for迭代语法已经发生了变化: vue2.0丢弃了: $index 和 $key 新数组语法如下: 解决后: 结果:…
前言 再一次vue2.0的开发中,遇到这样的一个问题,使用less与处理器,封装了一套关于项目的主题,但是使用的时候,main.js中引入后依然不能直接使用定义的@theme-bg等less定义的颜色,经过查阅后,我么需要进行一些配置,百度上找了很多方法,但是都有一些问题,这里经过实践总结,总结在这,以此记录自己的开发点击 配置前的准备 npm install less less-loader -s   百度上很多方法说需要配置webpack.base.conf.js(建议省略) { test…
1.自己的github建一个项目. 2.本地vue2.0项目初始化. 安装node.js,检查node版(node -v). 安装webpack(npm install webpack -g),检查webpack版本.(webpage -v). 安装vue-cli脚手架(npm install vue-cli -g),检查版本.(vue -V). 接下来用vue-cli构建项目 vue init webpack myProject 3.将项目关联git地址,首次提交代码. 新建一个文件夹名为(v…