Vue.js Vue将一个事件处理程序传递给另一个组件-事件的处理程序无效;updatefilters";:没有定义

Vue.js Vue将一个事件处理程序传递给另一个组件-事件的处理程序无效;updatefilters";:没有定义,vue.js,Vue.js,我有一些嵌套组件。以下是我在HTML页面中创建站点的顶级组件: <advanced-options-model ... @updatefilters="updateFilters"></advanced-options-model> 实际上,如果我删除AdvancedOptions模式中的@updatefilters=“updatefilters”,我看不到任何错误,因此问题似乎出现在该模板中。但是,在此模板中,我将相同的函数传递给过滤器复选框组件: <filte

我有一些嵌套组件。以下是我在HTML页面中创建站点的顶级组件:

<advanced-options-model ... @updatefilters="updateFilters"></advanced-options-model>
实际上,如果我删除AdvancedOptions模式中的
@updatefilters=“updatefilters”
,我看不到任何错误,因此问题似乎出现在该模板中。但是,在此模板中,我将相同的函数传递给
过滤器复选框
组件:

<filter-checkboxes ... @updatefilters="updatefilters"></filter-checkboxes>

下面是我在inspector中看到的确切错误消息:

vue.js:616 [Vue warn]: Invalid handler for event "updatefilters": got undefined

found in

---> <FilterCheckboxes>
       <AdvancedOptionsModel>
         <Root>
vue.js:616[vue warn]:事件“updatefilters”的处理程序无效:未定义
发现于
---> 
首先,您没有将
updateFilters
传递到
advanced options model
组件,而是在
updateFilters
事件上绑定
updateFilters
方法

要将参数绑定到组件,应该使用
v-bind:…
或只使用
:…
。速记
@…
用于
v-on:…

如果要将
updateFilter
事件从
filter复选框
组件“冒泡”到根组件,应按如下方式执行:

var filtercheckbox={
模板:`
{{value}}({{count}})
`
};
var AdvancedOptions模式={
组成部分:{
“过滤器复选框”:过滤器复选框
},
模板:`
...
...
`
};
Vue.组件('advanced-options-model',AdvancedOptions-Modal);
在其他地方:


方法:{
updateFilters(){
//做点什么
}
}

谢谢。我已经做出了改变。出于某种原因,即使我在模板中输入的全部内容都是
,过滤器复选框也不会输出。奇怪的是,它呈现为文本值
“>
。我甚至试过只使用一个自动关闭标签,例如
@Martyn你忘了在
@updatefilters=…
中关闭
!谢谢你,我想我已经彻底检查过了。是的,现在正在工作。
vue.js:616 [Vue warn]: Invalid handler for event "updatefilters": got undefined

found in

---> <FilterCheckboxes>
       <AdvancedOptionsModel>
         <Root>