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個贊
您正在將一個名為filtertyped的道具傳遞string給您的組件。當您輸出時,{{ filter.name }}您實際上是在引用此屬性,而不是filter您在 v-for 循環中創建的變量。
除非您將名為“filter”的屬性傳遞給您的組件,否則該屬性將是未定義的。因此輸出filter.name將導致此錯誤消息。
TA貢獻1757條經驗 獲得超8個贊
您正在將一個名為filtertyped的道具傳遞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 }
},添加回答
舉報
