在vue項目中的js文件里使用vue實例


參考的網址:https://blog.csdn.net/weixin_34353714/article/details/86958742

不為其他,就為了記錄一下,方便以后查看:

第一種方法:

1、首先在http.js中:定義一個變量context用來接收vue,再定一個initVue方法傳入的參數是vue,並導出這個方法。

import axios from 'axios'
const TIME_OUT_MS = 60 * 1000 // 默認請求超時時間
let context = null // 定義一個變量,用來代替this(vue)
function handleResults (response) {
    context.$router.push('/login') 
    return result
}
export default {
  // 寫一個此文件引入vue的方法,然后export導出去
    initContext (vue) {
        context = vue
    },
    post (url, data, response, exception) {
      
    },

2、然后在main.js中:執行http.js導出的initContext方法

var vue = new Vue({
    el: '#app',
    router,
    components: {App},
    template: '<App/>'
})
Vue.prototype.http = http
//掛載http的時候執行引入vue的方法
Vue.prototype.http.initContext(vue) // 傳入vue實例

 

 

第二種方法:

1、main.js導出vue實例:

var vue = new Vue({
  el: '#app',
  router,
  components: { App },
  template: '<App/>'
})
export default vue

 

2、在需要使用的js中引入

 

import context from '../main.js'
context.$router.push('/login')

 

我選擇了使用第二種方法;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM