【问题标题】:TypeError: Cannot read property '_wrapper' of undefinedTypeError:无法读取未定义的属性“_wrapper”
【发布时间】:2020-02-29 23:11:34
【问题描述】:

我正在尝试将单击按钮时发送到组件的道具数据更新为vue 中的单个组件。

按钮点击触发一个动作,从配置中加载数据。但这会引发错误并且错误消息不清楚。在这里找到错误https://imgur.com/a/0psUWKr

如果我直接传递数据而不使用按钮操作,它可以正常工作。

我的主要组件


<template>
  <div>
    <MyList v-if="listItems" :elements="listItems"/>
    <button @click="showSlider">Show Slider</button>
  </div>
</template>

<script>
// imports the components and config files

export default {
  name: "ListView",
  data() {
    return {
      listItems: []
    };
  },
  components: {
    MyList
  },
  methods: {
    showSlider: function() {
         this.listItems.push(configs['elements'])
    },
</script>

注意:如果我默认将数据提供给listItems,它会起作用

还有MyList文件


<template>
  <ul>
    <li v-for="each in elements" :key="each.id">
      {{each.name}}
    </li>
  </ul>
<template>

<script>
// imports the components and config files

export default {
  name: "MyList",
  props: {
    elements: {
      type: Array
    }
  }
</script>

【问题讨论】:

  • 当我没有声明我的组件或在声明中有错字时,这通常发生在我身上。我建议你在你的 IDE 上安装一个linter 来为你检查一切。
  • 你引用的按钮点击函数在哪里?
  • @MojoAllmighty 我已经安装了 linter。这是我检查的第一件事,没有发现此类问题
  • @maembe 错过了抱歉。更新了代码。请检查一下
  • 当你调用listItems(configs['elements']) 时你不应该使用this.listItems(configs['elements']) 吗?

标签: javascript vuejs2 vue-component vue-events


【解决方案1】:

它应该可以正常工作。但就我而言,问题在于以下函数中的push

 showSlider: function() {
     this.listItems.push(configs['elements'])
},

Vuex 存储相同的内容并使用调度程序更新相同的工作就像一个魅力。我使用计算属性从vueX 加载状态并将其传递给 MyList

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-24
    相关资源
    最近更新 更多