将对象数组传递给 Vue 规范中的数据对象

问题描述

我正在为我的 vue 组件编写规范,并且必须将一个值传递给组件中定义的数据对象 我是这样通过的 wrapper.vm.organizations = [{"id":2,"company_name":"google","user_count":0}]

但是在我的组件中它变得未定义并且在 console.log 上这就是我得到的,

[
      {
        id: [Getter/Setter],company_name: [Getter/Setter],user_count: [Getter/Setter]
      }
]

如何正确传递值

解决方法

一个对象的数据属性代表它的内部状态,尝试从外部赋值有点奇怪。

我建议使用属性(道具)。 props 是从外部发送到组件的值。

如果属性对您不起作用,那么您可以在组件中创建一个方法,该方法将接收您的新值并将这些值分配给内部数据。从外部而不是直接分配值,您将调用一个方法来执行此操作。

,

Vue 3 将响应式数据包装在 proxies 中。因此,您的数据可能看起来像这样,带有 getter 和 setter。

尝试 console.log(JSON.stringify(YOUR_ARRAY)) 以查看您的数据是否符合预期。

您没有提供足够的代码,无法确切了解您的数据为何在 undefined 中,您希望它在何处可用。

记住应该在子组件中使用 this.$props.PROPNAME 访问 props。