未捕获的TypeError:尝试在Vuejs中调用onchange()方法时,无法读取未定义的属性“apply”
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了未捕获的TypeError:尝试在Vuejs中调用onchange()方法时,无法读取未定义的属性“apply”相关的知识,希望对你有一定的参考价值。
我正在使用Laravel Nova
自定义工具来创建我自己的模板。 Nova使用vuejs
所以我试图在Tool.vue
中添加我的自定义表单和js逻辑。
我运行这个非常简单的代码来执行select上的onChange()
事件,但是我得到以下错误:
Uncaught TypeError: Cannot read property 'apply' of undefined
at e (vendor.js?id=52886433f04b87b2c184:1)
at htmlSelectElement.Yr.e._withTask.o._withTask (vendor.js?id=52886433f04b87b2c184:1)
这是我的表格:
<template>
<div>
<heading class="mb-6">Model Register Custom</heading>
<div>
<select v-model="selected" @change="onChange">
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
</select>
</div>
</div>
</template>
这里是我的js逻辑,而不是alert()产生错误:
<script>
let Vue = require('vue');
export default {
mounted() {
var vm = new Vue({
methods: {
onChange() {
alert("dsds");
}
}
})
},
}
</script>
P.S:用简单的javascript简单onChange工作正常,但是用vuejs
方法我总是得到这个奇怪的错误。
它的形状是错误的,你应该把它从安装中扔掉。作为生命周期,安装它已经是一个函数,所以如果你想在屏幕的程序集中调用它,你可以从组件中声明方法,并在挂载的内部调用它。但在你的情况下,在挂载时调用该函数是没有意义的,只有当你点击一个项目时才是。例。
<div id="app">
<heading class="mb-6">Model Register Custom</heading>
<div>
<select v-model="selected" @change="onChange">
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
</select>
</div>
</div>
new Vue({
el: '#app',
methods: {
onChange() {
alert("dsds");
}
}
})
https://jsfiddle.net/hamiltongabriel/ke8w9czy/4/
以上是关于未捕获的TypeError:尝试在Vuejs中调用onchange()方法时,无法读取未定义的属性“apply”的主要内容,如果未能解决你的问题,请参考以下文章
未捕获的TypeError:events.forEach不是函数Leaflet和VueJS
VueJS:未捕获(承诺中)TypeError:无法读取未定义的属性“推送”
将 Bootstrap 与 VueJS 一起使用时未捕获的 TypeError
Nuxt 抛出错误:未捕获的 TypeError:无法将类作为函数调用