vue用法

1、vue选项卡,点击动态设置css

  • html
<div v-for="(item,index) in list" :class="{selected:index == tabIndex}" 

@click="tabNameClick(index)">{{item}}</div>

// selected是被选中的css样式
  • js
tabNameClick: function(index){
       this.tabIndex = index;
 },

// 点击传选中的index,将选中的index赋值给tabindex

参考:https://segmentfault.com/q/1010000011172980

2、v-for渲染嵌套对象(object)

  • html
<li v-for="(value, key, index) in obj">
   {{value.name}}  // 值
    {{key}}  // 键
    {{index}}  // 下标
</li>
  • js
data(){
    return{
      obj:{
        "0": {
            "name": "1"
        },
        "2": {
            "name": "2"
        }
      }
    }

参考:https://segmentfault.com/q/1010000012786129

3、this.$router.push({}) 实现路由跳转

push 后面可以是对象,也可以是字符串:

// 字符串
this.$router.push('/home/first')
// 对象
this.$router.push({ path: '/home/first' })
// 命名的路由
this.$router.push({ name: 'home', params: { userId: wise }})

例如:

// 点击事件里面写
this.$router.push({ name: 'distributesList', query: { ruleForm: this.ruleForm }})

参考:
http://www.cnblogs.com/wisewrong/p/6277262.html

vue 设置scrollTop不起作用

一定要加上this.$nextTick()方法

this.$nextTick(() => {
    document.getElementById('scrollUl').scrollTop = (this.hours - 2) * 48 + 100
})

https://blog.csdn.net/Coding_Jia/article/details/80778108

vue watch监听
watch: {
   isShow (new, oldval) {
      if (new == true) {
          this.id = 1
      }
  }
}
vue 的hover事件
<li @mouseover="selectStyle (item) "
            :class="{'active':item.active}" 
            @mouseout="outStyle(item)">

具体参考:https://blog.csdn.net/sunshine_ping/article/details/80269707

vue + setTimeout
setTimeout(this.end(),4000);

https://blog.csdn.net/qq_27295403/article/details/83375574

vue 路由配置

https://www.cnblogs.com/padding1015/p/7884861.html

Vue实现标签 href动态拼接,点击后使用新窗口打开网页

https://blog.csdn.net/sunhaobo1996/article/details/81272942

vue 一个方法同时请求多个接口,怎么控制顺序?在下一个接口获取前一个接口返回的值为空,怎么解决

https://blog.csdn.net/weixin_39818813/article/details/82464132
https://blog.csdn.net/qq_38627581/article/details/77353015

将v-for生成的input框数据用v-model绑定到一个数组
a{
  cur:[],
},   //把这个数组cur外面包个对象

v-model="a.cur[index]"

https://blog.csdn.net/TateBrwonJava/article/details/80616074

vue为一个元素绑定多个事件(分号隔开)
          <el-select v-model="search.departmentId" placeholder="请选择部门" @change="search.realName = '';getAccountList()">
                <el-option label="请选择部门" value=""></el-option>
                <el-option
                        v-for="item in depNameList"
                        :key="item.id"
                        :label="item.name"
                        :value="item.id">
                </el-option>
            </el-select>

多个事件时,要加括号
如:@click="Click();click(2)"

https://blog.csdn.net/CWH0908/article/details/86687999

正确理解使用Vue里的nextTick方法

https://blog.csdn.net/qq_39517820/article/details/83684517

vue解析文本以后,换行丢失解决(v-html指令)
  • {{additionalRules}}放在标签之间会有一个问题就是空格符号不会被识别,所以直接用的v-html指令进行替换
<p class="cmm-wrapper" v-html="additionalRules" ></p>
.cmm-wrapper{
  white-space: pre-wrap; //解决的关键就是这一句,
  line-height: 40px;
  color: #000032;
  font-size: 28px;
}

https://blog.csdn.net/qq_42833001/article/details/86551256

vue之登录和token处理

https://www.cnblogs.com/qdlhj/p/9844944.html

阻止事件冒泡用

@click.stop 点击子节点不会捕获到父节点的事件
https://blog.csdn.net/weixin_34315485/article/details/91387568

axios的delete写法
axios.delete({
  url: '/api/commodityCategory/delete',
  data: {
    "id":"a"
  }
})
.then(function(response) {
  console.log(response);
})
.catch(function(response) {
  console.log(response);
});

http://www.imooc.com/wenda/detail/512278

vuejs项目如何修改node_mudule为公用文件?

https://blog.csdn.net/qq_35393869/article/details/81283870

Vue使用watch监听路由的变化
watch:{
      '$route.path':function(newVal,oldVal){
        //console.log(newVal+"---"+oldVal);
        if(newVal === '/login'){
          console.log('欢迎进入登录页面');
        } else if(newVal === '/register'){
          console.log('欢迎进入注册页面');
        }
      }
 }

https://blog.csdn.net/xukongjing1/article/details/82901054

粒子运动 particles.js 在vue中的使用

https://blog.csdn.net/zhy18820612/article/details/92770301

  • particles.js 属性:

https://blog.csdn.net/lbPro0412/article/details/82417078

html2canvas 在Vue中的应用
canvas截图:
        var video = document.getElementById("video");
        var canvas = document.createElement("canvas");
        canvas.crossOrigin = "Anonymous"; // 跨域
        var context = canvas.getContext('2d');
        canvas.width = video.width;
        canvas.height = video.height;
        canvas.getContext('2d').drawImage(video, 0, 0, canvas.width, canvas.height);
      // 获取像素数据
      var data = context.getImageData(0, 0, canvas.width, canvas.height).data;
      var targetBitmap = context.createImageData(canvas.width, canvas.height);
      for (var i = 0; i < data.length; i += 4) {
        var r = data[i];
        var g = data[i + 1];
        var b = data[i + 2];
        var c = (r + g + b) / 3;
        targetBitmap.data[i] = c;
        targetBitmap.data[i + 1] = c;
        targetBitmap.data[i + 2] = c;
        targetBitmap.data[i + 3] = 255;
      }
      context.putImageData(targetBitmap, 0, 0);
vue项目中,将信息生成二维码的方法

https://blog.csdn.net/weixin_37861326/article/details/80362591

给这个canvas一个class,里面写上宽度高度加上!important就可以了
https://blog.csdn.net/qq_41862017/article/details/97390272

Vue.set(object, key, value)

vue修改数组中某一条数据,并且更新页面中的数据

import Vue from "vue";
this.positionListData.forEach((item,index)=>{
    if(item.id==val.id){
        console.log("set");
        Vue.set(this.positionListData[index],'post_status',1)
    }
})

https://blog.csdn.net/bittingCat/article/details/105681138

vue点击事件和拖拽事件冲突

https://www.jianshu.com/p/1a85a3fb3d43
https://www.cnblogs.com/xiaoleilei123/p/10669835.html

vue实现pc端调取本地摄像头拍照功能

video+canvas
https://blog.csdn.net/RussW0/article/details/104694368/

问题:视频黑屏(打开新建弹框,关闭后打开编辑弹框)(两个弹框均引用了拍照公共子组件)
原因:用 :visible.sync="isShow" 控制添加和编辑的弹框,导致有两个一样的子组件同时存在,视频播放失败
解决办法:用v-if控制,使页面只存在一个弹框
:visible.sync="isShow" v-if="isShow"

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,117评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,963评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 107,897评论 0 240
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,805评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,208评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,535评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,797评论 2 311
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,493评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,215评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,477评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,988评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,325评论 2 252
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,971评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,055评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,807评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,544评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,455评论 2 266

推荐阅读更多精彩内容