問題一:vue文件中引入外部js文件的方法
//在vue文件中
<script>
import * as funApi from '../../../publicJavaScript/publicFun.js';//這里如果有多個方法的話也引用一次就可以了
//import {test,test2,test3} from '../../../publicJavaScript/publicFun.js';//這樣如果引用的方法比較多的話就會比較麻煩,而且不美觀
export default {
name: '',
props: [''],
data() {},
methods: {
lazyLoad(){
funApi.test();
}
}
}
</script>
//在外部publicFun.js文件中
function test(){
alert(1)
}
export{
test,//將方法暴露在外部,以便被其他文件引用
}
問題二:首先引入外部js文件,並且可以在外部js文件調用vue文件內的方法
export default {
data() {
return { title: '哈哈', } }, mounted() { // methods里面定義的方法, 暴露到window下 window.test= this.test; }, methods: { test() { console.log(‘1’); }, } }
這樣就可以在外部js文件通過調用test() 來調用 vue 的methods 中的 test()方法了
問題三:在js的外部文件內,可以使用this指向vue文件內的 vue實例
vue內的methods里面的方法
update(e) { let _this = this funApi.funUpdate(_this) }
外部js內的方法
function funUpdate(this) {
this.modal2.flag = false //這里this就是vue文件內的this,可以直接指向vue實例進行操作
}
