问题描述
- 在html界面用 v-bind:xx 的方式去绑定一个事件函数时IE10 控制台报错 “valid未定义”
- 问题代码示例:
<input type="text" v-bind:click="valid"/><!-- JS 部分--><script>var app = new Vue({el:"省略",data:{},methods:{ ???valid:function(event){ ???????console.log(event.target.tagName); ???}}});</script>
- 解决过程1:
我将html中的v-bind:click="valid"
改为了v-bind:click="valid();"
。然后控制台出现了新的错误,但是至少确信了 在IE中不支持函数省略括号的写法。
新的错误是event.target
未定义,于是进入下步解决过程。 - 解决过程2:
将html中的v-bind:click="valid();"
改为了v-bind:click="valid($event);"
。在事件被触发后会向valid(event)
函数传递vue中定义的$event
实例对象,问题得以解决。
修改之后的代码
<input type="text" v-bind:click="valid($event);"/><!-- JS 部分--><script>var app = new Vue({el:"省略",data:{},methods:{ ???valid:function(event){ ???????console.log(event.target.tagName); ???}}});</script>
【兼容性】IE10中使用vue.js出现event或event.target未定义问题。
原文地址:https://www.cnblogs.com/nozer1993/p/9305811.html