使用Vue报错

wongpaul524
  • 4
新手上路,请多包涵

使用Vue报错[Vue warn]: Error in nextTick: "TypeError: fn.bind is not a function"
页面进不去。
clipboard.png

回复
阅读 6.7k
10 个回答

看报错信息是methods里有个方法你写的并不是一个函数,可能写了个对象什么的,vue进行fn.bind()处理的时候,.bind取到的可能是undefined。

分享一点我处理这个异常的经历吧。
vm.$options.methods这个数组中有不为function类型的对象。
这是怎么产生的呢?
在调用组件方法的时候使用了这种形式的调用,this.$options.methods.fun(),而这个fun中的this不是指向vm的,而是指向这个this.$options.methods这个对象的,如果你在fun中有this.xx=[]这样的代码的话,那么就会报题主这样的异常的。

hellohk
  • 1
新手上路,请多包涵

你好,解决了吗?我遇到一模一样的问题

chenqingfeng
  • 1
新手上路,请多包涵

检查一下你methods里面的方法

看看data mounted methods 写的是方法还是对象

应该是说你现在使用.bind方法的这个元素它没有bind这个方法,可以先把元素console出来看看

如果出现这一句话的话你可以看看这个报错大概是在那一句出现的,fn.bind在vue代码里面是有出现的,例如vue的2.5.13版本这个方法是没报错的,但如果你升级到新版本,这个就会报错了,所以我建议看看换一下vue的版本

请问你是调接口报的这个错吗

du_peiduo
  • 2
新手上路,请多包涵

Vue.component(name, comp) 方式注册组件也会出现这个错误。

我的情况略微复杂,我使用以上方式注册了全局组件,在页面中是通过 v-else-if 使用的,在满足条件的时候才使用该组件,这种情况下就出现了该错误信息。

我在页面再次注册该组件解决的这个问题。

vue小学生
  • 2
新手上路,请多包涵

这种错误看控制台就可以解决了嘛,fn.bind不是一个方法,

你知道吗?

宣传栏