vue 单向数据流,不应该更改父组件传过来的数据

那么按照标题这样的话,就如同是 这样 data(){name:this.dataf}  this.dataf就是父组件的值  然后把这个值 相当于赋值给 name: this.dataf 然后更改组件里面的data 数据就好了

 

看例子

 

<body>
        <div id="app">
            <h3>父组件中使用了count</h3>
            <p>{{count}}</p>
            <custom-component :count="count" @increment-click="countHandle"></custom-component>
        </div>
        <script>

        //自定义事件

            //全局组件
            //count传入的类型为Number
            Vue.component('custom-component',{
                props:{
                    count:{
                        //type:Number,
                        //type:[Number,String],
                        //default:10
                        //required:true
                        validator:function (value){
                            console.log(value); 

                            return value > 10
                        }
                    }
                },
                data(){
                    return {
                        incrementCount:this.count //作为局部这个组件的data的初始值
                    }
                },
                computed:{
                    incrementCount2(){
                        return this.incrementCount
                    }
                },
                template:`
                    <div>
                        <h2>我是一个自定义的组件</h2>
                        <input type="button" value="改变count的值" @click="changeCount" />
                        {{incrementCount2}}
                    </div>
                `,
                methods:{
                    changeCount(){
                        this.incrementCount++;
                        //通知父组件 发生了改变
                        this.$emit("increment-click")   
                    }
                }
            })

            new Vue({
                el:"#app",
                data:{
                    count:20
                },
                methods:{
                    countHandle(){
                        //alert("子组件点击了");
                        this.count++;
                    }
                }
            })
        </script>
    </body>

转载于:https://www.cnblogs.com/blccy/p/8215229.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值