4 回答
TA贡献1995条经验 获得超2个赞
我假设您实际上是在尝试访问from within的filter迭代器。为此,您需要在绑定中传递itself :v-for="(filter, index) in filters"emitFilter()filter@click
<button v-for="(filter, index) in filters"
@click="emitFilter(filter)">
然后,您的处理程序可以直接使用参数:
export default {
methods: {
emitFilter(filter) {
this.filterResult = filter
//...
}
}
}
TA贡献1883条经验 获得超3个赞
您正在将一个名为filter
typed的道具传递string
给您的组件。当您输出时,{{ filter.name }}
您实际上是在引用此属性,而不是filter
您在 v-for 循环中创建的变量。
除非您将名为“filter”的属性传递给您的组件,否则该属性将是未定义的。因此输出filter.name
将导致此错误消息。
TA贡献1757条经验 获得超8个赞
您正在将一个名为filter
typed的道具传递string
给您的组件。当您输出时,{{ filter.name }}
您实际上是在引用此属性,而不是filter
您在 v-for 循环中创建的变量。
除非您将名为“filter”的属性传递给您的组件,否则该属性将是未定义的。因此输出filter.name
将导致此错误消息。
TA贡献1847条经验 获得超11个赞
是的,你没有将 prop 传递给你的组件,这就是为什么它是未定义的。
<FilterBtn filter="test" />
在这里,我传递了一个名为 propfilter
的值test
。
当然你可以传递动态道具。绑定就行了
<FilterBtn :filter="yourData" />
我需要问:你传递的是对象还是字符串?
因为您将 prop 定义为字符串,但实际上将其用作对象
{{ filter.name }}
也许您还应该将类型设置为 Object。
props: { filter: { type: Object } },
添加回答
举报