Javascript Vue“更改时”方法不使用复选框

Javascript Vue“更改时”方法不使用复选框,javascript,vue.js,Javascript,Vue.js,我正在尝试使用带有复选框的方法,但它不会在VueJS中触发。我已经包含了来自组件的模板部分和方法部分的代码片段。该组件和其中的所有内容都可以正常加载,没有任何控制台错误,但是当我单击复选框时,无法启动此方法。我做错了什么 从模板: <input type="checkbox" v-on:change="myMethod(this)" /> 将其传递给Vue中的事件处理程序将把整个组件传递到事件侦听器,而不仅仅是元素。这是因为,在vue绑定中,

我正在尝试使用带有复选框的方法,但它不会在VueJS中触发。我已经包含了来自组件的模板部分和方法部分的代码片段。该组件和其中的所有内容都可以正常加载,没有任何控制台错误,但是当我单击复选框时,无法启动此方法。我做错了什么

从模板:

<input type="checkbox" v-on:change="myMethod(this)" />
将其传递给Vue中的事件处理程序将把整个组件传递到事件侦听器,而不仅仅是元素。这是因为,在vue绑定中,您只是在组件范围内编写JavaScript

相反,不要在模板中传递任何会导致方法被传递到常规事件对象的内容,使用event.target.checked检查复选框是否被选中,不要完全这样做,这只是一个更直接的解决方案。有关正确的操作方法,请参见下文

新Vue{ el:“应用程序”, 方法:{ myMethod:functionevent{ 如果event.target.checked console.logchecked; else console.logunchecked; } } }; 将其传递给Vue中的事件处理程序将把整个组件传递到事件侦听器,而不仅仅是元素。这是因为,在vue绑定中,您只是在组件范围内编写JavaScript

相反,不要在模板中传递任何会导致方法被传递到常规事件对象的内容,使用event.target.checked检查复选框是否被选中,不要完全这样做,这只是一个更直接的解决方案。有关正确的操作方法,请参见下文

新Vue{ el:“应用程序”, 方法:{ myMethod:functionevent{ 如果event.target.checked console.logchecked; else console.logunchecked; } } };
myMethod: function (chck) {
                        if (chck.checked == true) {
                            console.log("true");
                        } else if (chck.checked == false) {
                            console.log("false");
                        }
                },