码迷,mamicode.com
首页 > 其他好文 > 详细

Vue将props值实时传递 并可修改

时间:2020-03-31 12:16:06      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:pre   and   ops   实时   hand   改变   turn   his   span   

我们都知道props值是只读的,子组件内不可直接修改,会报错滴

但是很多时候这个值是需要子组件主动修改的,一般我们会使用this.$emit()去修改,但比较麻烦

下面这种方式可以实现:

1、父组件实时修改props值时,子组件可以接收到改变

2、子组件可主动修改该值

<div>{{RealValue}}</div>
  props: [ "value" ],
  watch: {
    value (v) {
      this.RealValue = v
    }
  },
  data () {
    return {
      RealValue: this.value
    }
  }

原理很简单,就是使用一个RealValue作为实际显示的参数,并且使用watch实时把value值传给他

PS:这里的值是字符串格式,如果value是对象或者数组,watch处要写成:

  watch: {
    value:{
       deep: true,
       handler(v) {
          this.RealValue = v
       }
    }
  },    

 

Vue将props值实时传递 并可修改

标签:pre   and   ops   实时   hand   改变   turn   his   span   

原文地址:https://www.cnblogs.com/mankii/p/12603994.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!