vue 组件间报这样的错是什么原因导致 的?

发布于 2022-09-11 14:23:11 字数 1835 浏览 17 评论 0

我直接贴我的代码:

父组件:

<v-header :title="title" :menu-display="menuDisplay" :map-display="mapDisplay" :back-display="backDisplay"></v-header>

<script>
import header from '@/components/header'
export default {
  name:'App',
  components:{
    'v-header': header
  },
  data (){
    return {
      
    }
  }
}
</script>

子组件

<template>
    <div class="header">
    <div class="header-icon" v-show="backDisplay" @click="goBack"><i class="icon">&#xe622;</i></div>
    <div class="header-cont" :class="{ 'pad-l': !backDisplay }"><p>{{title}}</p></div>
    <div class="header-icon" v-show="menuDisplay" @click="showBar"><i class="icon">&#xe634;</i></div>
    <div class="header-icon" v-show="mapDisplay" @click="getMap"><i class="icon map-icon">&#xe600;</i></div>
  </div>
</template>
<script>
export default {
   data(){
        return {
           
        }
    },
    props:{
        title: String,
        backDisplay: Boolean,
        menuDisplay: Boolean,
        mapDisplay: Boolean
    },
    methods:{
        goBack(){

        },
        showBar(){

        },
        getMap(){

        }
    }
}
</script>

现在是报这样的错误:

clipboard.png

编译后报这样的错:

clipboard.png

从提示信息看是我这的这些自定义属性 menuDisplay等未定义,可是我换个写法,

props: ['title','menu-display','map-display','back-display'],

也同样是报这样的错误,我不知道该怎么改了。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

吃不饱 2022-09-18 14:23:11

父组件里为什么没有 template 标签包裹啊?试试这样,

<template>
    <v-header :title="title" :menu-display="menuDisplay" :map-display="mapDisplay" :back-display="backDisplay"></v-header>
</template>

<script>
import header from '@/components/header'
export default {
  name:'App',
  components:{
    'v-header': header
  },
  data (){
    return { 
      'title':'',
      'menu-display': true,
      'map-display': true,
      'back-display': true
    }
  }
}
</script>

如有帮助,麻烦点击下采纳,谢谢~

毁我热情 2022-09-18 14:23:11

你在模板里面引用的变量没有在data里面定义

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文