4 回答

TA貢獻(xiàn)1995條經(jīng)驗(yàn) 獲得超2個(gè)贊
我假設(shè)您實(shí)際上是在嘗試訪問(wèn)from within的filter迭代器。為此,您需要在綁定中傳遞itself :v-for="(filter, index) in filters"emitFilter()filter@click
<button v-for="(filter, index) in filters"
@click="emitFilter(filter)">
然后,您的處理程序可以直接使用參數(shù):
export default {
methods: {
emitFilter(filter) {
this.filterResult = filter
//...
}
}
}

TA貢獻(xiàn)1883條經(jīng)驗(yàn) 獲得超3個(gè)贊
您正在將一個(gè)名為filter
typed的道具傳遞string
給您的組件。當(dāng)您輸出時(shí),{{ filter.name }}
您實(shí)際上是在引用此屬性,而不是filter
您在 v-for 循環(huán)中創(chuàng)建的變量。
除非您將名為“filter”的屬性傳遞給您的組件,否則該屬性將是未定義的。因此輸出filter.name
將導(dǎo)致此錯(cuò)誤消息。

TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超8個(gè)贊
您正在將一個(gè)名為filter
typed的道具傳遞string
給您的組件。當(dāng)您輸出時(shí),{{ filter.name }}
您實(shí)際上是在引用此屬性,而不是filter
您在 v-for 循環(huán)中創(chuàng)建的變量。
除非您將名為“filter”的屬性傳遞給您的組件,否則該屬性將是未定義的。因此輸出filter.name
將導(dǎo)致此錯(cuò)誤消息。

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超11個(gè)贊
是的,你沒(méi)有將 prop 傳遞給你的組件,這就是為什么它是未定義的。
<FilterBtn filter="test" />
在這里,我傳遞了一個(gè)名為 propfilter
的值test
。
當(dāng)然你可以傳遞動(dòng)態(tài)道具。綁定就行了
<FilterBtn :filter="yourData" />
我需要問(wèn):你傳遞的是對(duì)象還是字符串?
因?yàn)槟鷮?prop 定義為字符串,但實(shí)際上將其用作對(duì)象
{{ filter.name }}
也許您還應(yīng)該將類型設(shè)置為 Object。
props: { filter: { type: Object } },
添加回答
舉報(bào)