【Vue】组件watch props属性值

转载: https://www.cnblogs.com/mqxs/p/8972368.html

#HTML
<div id="example">
  <p>
    <child :msg="msg"></child>
  </p>
  <p>
    <button @click='props'>改变props</button>
  </p>
</div>
#JS
Vue.component('child', {
  props: ['msg'],
  computed: {
    value:{
      get:function(){
        return this.msg
      },
      set:function(value){
        this.msg = value;
      }
    }
  },
  watch:{
      msg:function(val,oldval){
      this.value='改变子组件msg';
    }
  },
  template: '<span>{{ value }}</span>'
})

var vm=new Vue({
    el:'#example',
  data:function(){
      return{
        msg:'默认子组件msg'
    }
  },
  methods:{
        props:function(){
        this.$set('msg','2');
    }
  }
})
原文地址:https://www.cnblogs.com/taohuaya/p/10197972.html