首页 > 解决方案 > 在 console.log 中未定义但 vue 控制台显示正确的值

问题描述

我是 vue 新手,我无法通过控制台记录 this.productVal.name,只能得到未定义,但 vue 控制台扩展显示我所有的值都是正确的。 这里

export default {
  props: ['productVal'],
  created() {
    console.log(this.productVal.name);
  },
}

这就是我要去子组件的方式

<child-product v-if="product" :product-val="product"></child-product>

谁能告诉我为什么它不起作用?

标签: vue.js

解决方案


我不确定缺少信息的原因,但如果它是子组件,请转到父组件并添加v-if="productVal"到子组件标签。其原因可能是当您创建此组件时,您的 prop 值尚未初始化,因此您无法读取nameof productValprop 值,因此您得到了未定义。

例子

你的父组件中可能有这样的东西:

<template>
   <child-component :product-val="productVal">
</template>

所以将其更改为:

<template>
   <child-component v-if="productVal" :product-val="productVal">
</template>

它应该可以正常工作。


推荐阅读