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

Posted

技术标签:

【中文标题】将对象数组传递给 Vue 规范中的数据对象【英文标题】:Pass array of objects to a data object in Vue specs 【发布时间】:2021-06-29 12:23:48 【问题描述】:

我正在为我的 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]
      
]

如何正确传递值?

【问题讨论】:

【参考方案1】:

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

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

您没有提供足够的代码,无法确切知道为什么您的数据是 undefined,而您希望它在哪里可用。

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

【讨论】:

【参考方案2】:

对象的数据属性表示其内部状态,尝试从外部分配值有点奇怪。

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

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

【讨论】:

以上是关于将对象数组传递给 Vue 规范中的数据对象的主要内容,如果未能解决你的问题,请参考以下文章

vue js 无法将对象数组传递给组件

如何将数组从 Laravel Blade 传递到 Laravel 6/Vue 2.6 中的 Vue 组件。*

在 Vue 3 Typescript 中将道具传递给数据对象

将变量传递给一个数组中对象的函数

axios将数据从前端传到后端是对象还是数组

如何使用 vform 将对象数组传递给 laravel