vue项目中js调用vue中的方法失效?
a.js是vue-cil中的文件,现在要调用vue.b中的方法
使用:
a.js
import * as xx from './b.vue'
b.vue
mothods{
bb(){xxxxxx}
}
这样引入以后在a.js中使用bb() 报错不存在。
因为vue文件中已经做了抛出,理论上是能获得bb(), 是因为vue组件没有渲染结束导致的???
vue项目中js调用vue中的方法失效?
a.js是vue-cil中的文件,现在要调用vue.b中的方法
使用:
a.js
import * as xx from './b.vue'
b.vue
mothods{
bb(){xxxxxx}
}
这样引入以后在a.js中使用bb() 报错不存在。
因为vue文件中已经做了抛出,理论上是能获得bb(), 是因为vue组件没有渲染结束导致的???
你得xx.mothods.bb()进行调用。毕竟你这个.vue的组件文件在被a.js引入的时候,不是属于vue渲染的组件树内,bb方法被调用时,this不是vue实例,而是引用的调用者,你只是作为普通对象属性进行调用的。
13 回答12.7k 阅读
7 回答1.8k 阅读
9 回答1.6k 阅读✓ 已解决
3 回答1k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
6 回答764 阅读
可以再
a.js
中这样xx.methods['bb']()
来调用。