【问题标题】:Property or method is not defined on the instance in v-bind:class but is in data属性或方法未在 v-bind:class 中的实例上定义,但在数据中
【发布时间】:2018-03-19 06:56:40
【问题描述】:

我有我的组件:

<template>
   <div class="snack-visible" :class="{'snack-danger':!success,  'snack-success':success  }">
      <div>
         <strong>{{message}}</strong>
      </div>
    </div>
</template>
<script>

export default {
   data(){
        return{

            showing: false,
            message:"",
            success:false
        }
    }
//here other methods and created();
}

所以我在数据中定义了变量,但它返回这些错误:

app.js:11624 [Vue 警告]:属性或方法“成功”未定义 在实例上,但在渲染期间引用。务必申报 data 选项中的响应式数据属性。

发现于

---> 在 /var/www/html/carrozzeria/resources/assets/js/components/Snackbar.vue

【问题讨论】:

  • 如果将{{message}} 替换为{{success}},您会看到什么?
  • 没什么,我得到同样的错误
  • 但是messageshowing 工作??
  • 您在下面评论了 Hashemi 的回答,指出“错误是(我是个白痴:/)我没有放置标签 &lt;/script&gt;” -这是否意味着您的问题不再存在?
  • 问题是我没有放标签脚本。没有标签脚本我用标签热错误它工作

标签: vue.js


【解决方案1】:

你可以这样查看:

<template>
 <div class="snack-visible" :class="success ? 'snack-success' : 'snack-danger'">
  <div>
     <strong>{{message}}</strong>
  </div>
</div>
</template>

<script>

export default {
  data(){
    return{

        showing: false,
        message:"",
        success:false
    }
 }
//here other methods and created();
}
</script>

【讨论】:

  • 我复制了你的代码并运行它,但我没有发现任何错误
  • 谢谢,是的,我明白了,因为实际上似乎一切都正确,但我不明白我错在哪里。但是,您的解决方案也没有解决问题
  • 我粘贴了我的代码,错误是(我是个白痴:/)我没有放标签
【解决方案2】:

问题是我没有把标签 放在结束文件上

【讨论】:

  • 这是什么意思?
  • 文件末尾缺少标签,我在答案中写了但它没有显示,因为它被解释为代码
猜你喜欢
  • 1970-01-01
  • 2018-09-05
  • 2019-08-30
  • 2017-11-14
  • 2020-07-25
  • 2021-07-17
  • 2017-08-28
  • 2017-06-16
  • 2018-06-22
相关资源
最近更新 更多