我爱模板网 > 建站教程 > 前端框架 >  Avoid mutating a prop directly since the value will be overw正文

Avoid mutating a prop directly since the value will be overw

父组件
<popup :show="showpopup" @closepop="closepop"></popup>
子组件
<template>
  <div :class="show?'container show':'hide'" @click="close"></div>
</template>
//这是一个弹窗
<script>
    export default {
        name: "popup",
        props:{
          show:true,
        },
        methods:{
          close(){
            this.show = false;
            this.$emit('closepop')
          }
        }
    }
</script>
以上是源码,当我点击弹窗的时候出现了以下报错信息



大概意思是:通过props传递给子组件的show,不能在子组件内部修改props中的show值。

以下是修改后的代码:
父组件
<popup :show="showpopup" @closepop="closepop"></popup>
子组件
<template>
  <div :class="show?'container show':'hide'" @click="close">
  </div>
</template>
 
//这是一个弹窗
<script>
    export default {
        name: "popup",
        props:{
          show:true,
        },
        methods:{
          close(){
            //this.show = false;  //这行去掉 不能直接改变props中参数的值
            this.$emit('closepop'); //通知父组件改变。
          }
        }
    }
</script>


部分素材资源来源网站,本站提供免费下载,如有侵权请联系站长马上删除!
上一篇:基于vue的v-viewer点击预览图片插件 下一篇:关于vue子组件调用父组件的三种方法
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
选择头像:
最新评论

猜你喜欢