初次使用Vue的问题记录

最近使用Vue写了一点前端页面,由于第一次使用Vue,遇到了不少问题,所有在此记录一下

1.作用域的问题
Vue调用方法的时候,使用this.的方式进行调用,但在封装的http请求中,成功或失败使用回调函数时,this就会失效,可以有两种方法
    1.使用let that = this; 将this保存在另一个变量中,回调函数中是可以使用that的
    2.使用箭头函数 ()=>{}  箭头函数中可以获取到this作用域,个人感觉使用还是很方便的

2.Vue初始化的生命周期,有created()和mounted()方法 
created调用的时候,data和methods已经初始化完成,dom还未挂载,不能获取dom的任何数据,mounted阶段,dom已经加载完毕
一般在created方法中进行页面数据的初始化

3.v-for循环key问题
v-for循环是经常使用的数据渲染方法,在使用时需要注意key的使用,key最好是唯一的标识
使用默认的index索引作为key容易在数据删除时出现数据异常!
:key="Math.random()"  可以尝试,但听说会造成卡死现象,我使用了,可能因为数据量少的原因倒是没有出现卡死,最好是使用后台的唯一id标识啥的

4.Vue强制刷新
Vue直接修改数组或对象的某个值可能会造成数据修改,但未刷新到页面的情况
this.$forceUpdate();  强制刷新
this.$set(对象, 对象属性, 值); 使用这种方式修改也可以直接刷新

5.Vue父类监听子类方法的触发
1.子类industry-category
在方法中标识方法on-selector-industry-callback 和参数 this.xxx
子类点击时
    function(){
     this.$emit('on-selector-industry-callback', this.xxx);
     }
2.父类在使用子类组件的时候,监听方法,并写自己的方法pfunc
<industry-category @on-selector-industry-callback="pfunc"></industry-category>
子类点击时会调用pfunc方法
3.当父类监听子类的方法时,想传入自己的参数
    3.1单参数时,用$event表示子类的参数,后面是自己的参数
        @input="diceChange($event, item)
    3.2多参数时,用arguments 数组表示子类参数,我还没有测试
        @input="diceChange(arguments, item)

6.强制刷新子组件
使用了封装好的Vue组件,数据修改之后页面没有刷新,强制刷新也不行,然后尝试了这种暴力的方法
v-if="show"
this.show = false;
this.$nextTick(() => {
    this.show = true
});

7.from表单回车刷新问题
当from表单只有1个输入框的时候,按回车会导致表单提交,也是实在没想到 0.0
可以增加一个隐藏的输入框即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值