使用Vue报错[Vue warn]: Error in nextTick: "TypeError: fn.bind is not a function"
页面进不去。
使用Vue报错[Vue warn]: Error in nextTick: "TypeError: fn.bind is not a function"
页面进不去。
分享一点我处理这个异常的经历吧。vm.$options.methods
这个数组中有不为function类型的对象。
这是怎么产生的呢?
在调用组件方法的时候使用了这种形式的调用,this.$options.methods.fun()
,而这个fun中的this不是指向vm的,而是指向这个this.$options.methods
这个对象的,如果你在fun中有this.xx=[]
这样的代码的话,那么就会报题主这样的异常的。
如果出现这一句话的话你可以看看这个报错大概是在那一句出现的,fn.bind在vue代码里面是有出现的,例如vue的2.5.13版本这个方法是没报错的,但如果你升级到新版本,这个就会报错了,所以我建议看看换一下vue的版本
Vue.component(name, comp)
方式注册组件也会出现这个错误。
我的情况略微复杂,我使用以上方式注册了全局组件,在页面中是通过 v-else-if
使用的,在满足条件的时候才使用该组件,这种情况下就出现了该错误信息。
我在页面再次注册该组件解决的这个问题。
5 回答1.4k 阅读
5 回答1.1k 阅读✓ 已解决
2 回答829 阅读✓ 已解决
2 回答1.6k 阅读
4 回答1.1k 阅读✓ 已解决
2 回答974 阅读✓ 已解决
4 回答943 阅读
看报错信息是methods里有个方法你写的并不是一个函数,可能写了个对象什么的,vue进行fn.bind()处理的时候,.bind取到的可能是undefined。