将对象数组传递给 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 规范中的数据对象的主要内容,如果未能解决你的问题,请参考以下文章
如何将数组从 Laravel Blade 传递到 Laravel 6/Vue 2.6 中的 Vue 组件。*