为了账号安全,请及时绑定邮箱和手机立即绑定

vue子组件数据变了为什么父组件没有变?

vue子组件数据变了为什么父组件没有变?

MYYA 2018-08-26 12:46:40
<!DOCTYPE html><html><head>    <title></title>    <style type="text/css">    </style>    <script src="vue.js"></script>    <script type="text/javascript">       window.onload=function(){         var user={            template:'#my_div',            props:['message'],            methods:{               add(){                this.message++;                this.$emit('increment1');               }             }          }         new Vue({               el:'#app',               data:{                test:10                },               components:{                  'user':user                },               methods:{                  incrementTotal: function () {                       alert(this.test);                   }                }          })       }   </script></head><body><template id="my_div">   <div>     <h3>{{message}}</h3>     <button @click=add()>增加</button>   </div></template><div id="app">     <user :message="test" v-on:increment1="incrementTotal"></user></div></body></html>
查看完整描述

1 回答

?
慕码人2483693

TA贡献1860条经验 获得超9个赞

写的例子有问题,不要直接操作父组件传过来的message,看看文档

可以在子组件这样设置

prop:['message'],data(){
    msg:this.message//初始化,避免直接操作prop},
methods:{
    add(){        this.msg++;        this.$emit('add',this.msg);
    }
}

在父组件监听add,然后更新父组件的test值。


查看完整回答
反对 回复 2018-08-27
  • 1 回答
  • 0 关注
  • 1518 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信