只是尝试接收一个事件,该事件随后会作为道具传递给另一个组件。这是子组件;
<b-form-group label="Stacked button style radios">
<b-form-radio-group
id="btn-radios-3"
v-model="selected"
:options="options"
buttons
stacked
@click="filterPusher(selected)"
name="radio-btn-stacked"
></b-form-radio-group>
</b-form-group>
及其推送的方法(更改事件arg无效);
methods: {
filterPusher(event) {
return this.$emit("filter-change", event);
},
},
现在在父组件中,我已经确保从子组件本身进行调用,可能值得一提的是我已经将该子组件注册为全局组件,并且我不知道这会如何影响事情,但这是父母(我也尝试过v-on和@来确定);
<filterProducts
v-on:filter-change="pushFilter($event)"
></filterProducts>
该方法将触发应更改的数据;
data() {
return {
theFilter: "",
}
},
methods: {
pushFilter(changed) {
console.log(changed)
return this.theFilter = changed
}
},
我还尝试过像这样更改父级中的参数;
<filterProducts
v-on:filter-change="pushFilter"
></filterProducts>
methods: {
pushFilter($event) {
console.log($event)
return this.theFilter = $event
}
},
在这里尝试计算方法时,我抛出了这样的错误:我的自定义事件过滤器更改具有无效的处理程序,所以我又回到了方法。
我将重申此子组件filterProducts是一个已在使用的全局组件,并且我还没有看到有关这如何影响从“子”全局组件向其假定的父组件发出自定义事件的参考,所以我有感觉可能是这样,但根本没有发现任何东西。
我已经检查过vitter devtools中是否确实存在发射并且它发送了正确的选择器信息,但是父级没有看到该事件。