javascript - v-bind.sync 不将对象作为道具传递
问题描述
我将一个对象作为必需的道具传递给一个组件,v-bind.sync
但我收到了一个错误Missing required prop: "filters"
我在这里想念什么?它似乎不像文档中指定的那样工作:
v-bind.sync="doc"
:这会将
doc
对象中的每个属性(例如title
)作为单独的道具传递,然后为每个属性添加v-on
更新侦听器。
这是我的组件,它被称为使用<ListFilters v-bind.sync="filters" />
<template>
<div>{{ filters }}</div>
</template>
<script>
export default {
name: 'ListFilters',
props: {
filters: {
type: Object,
required: true
}
}
}
</script>
添加默认值filters
会导致组件使用默认值而不是父值。
解决方案
正如您提供的突出显示的段落中所述,任何属性都filters
将作为其自身的属性传递给子组件。因此,它需要包含另一个filters
属性 ( filters.filters
) 才能在该名称下的子组件中访问。要传递父级的属性本身,您可以使用v-bind:filters.sync="filters"
。
推荐阅读
- python - Python将地图绘制到球体上
- javascript - 仅在锚标记上的 href onlick 上禁用页面重新加载
- node.js - NodeJS 数据库竞争条件
- sql - 在 BigQuery Standard SQL 中获取 Last Slash 之后的字符串
- windows - Windows 7 - 高 DPI - RAD Studio XE7 的 SetProcessDPIAware 问题?
- sql - 将 10 添加到 mysql 查询中的每个值
- python - pandas中expanding_apply输出的数据类型
- python - 在另一个方法中调用具有大量参数的方法的 Pythonic 方式
- php - 如何使 recaptcha 与验证一起工作
- css - 即使 z-index 很高,WordPress 子菜单也会出现在内容后面