vuejs呼叫js檔案裡面的方法:1、在assets檔案下新建一個js檔案;2、透過「export default {...}」在需要使用方法的元件中引用即可。
本文操作環境:Windows7系統、Vue2.9.6版,DELL G3電腦
vuejs怎麼呼叫js檔案裡面的方法?
vue中引用js檔案的方法
在vue的許多元件中都會用到axios來Post數據,每個元件中都寫上一個post的方法倒是也可以,複製就行了,但是總感覺有些不方便,那麼可以把axios的post寫到一個單獨的js檔案中,然後在需要的元件中引用豈不是更好嗎。
1、在assets檔案下新建一個js檔案
新建一個名稱為webpost.js檔案
import axios from 'axios' //Post方法的封装 function axiosPost(url,params){ return new Promise((resolve, reject) => { axios({ url: url, method: 'post', data: params, headers: { 'Content-Type':'application/json' } }) .then(res=>{ resolve(res.data); }); }); } export { axiosPost }
這個需要專門引用一下axios,也就是第一行,然後就可以使用了,最後一句很重要,不然你沒法在別的元件中呼叫
2、在需要使用此方法的元件中引用
<script> import {axiosPost} from '../assets/webpost'; export default { }
注意引用的路徑, import {}中的內容就是上面export中的內容
使用的時候連this都不需要了,直接axiosPost就可以了
axiosPost(url,params) .then(res=>{ if (res===401){ this.$message.error('哦,对不起,你所输入的用户名或密码有误!'); }else{ }
3、js的另一種寫法
下面是重新編輯的部分,這幾天又把axios部分整理了一下,加上了攔截器,用於向api請求時帶上token驗證,只多了一個export,可以寫多個,結構更清晰,也更容易理解。
import axios from 'axios' //Post方法的封装 export function axiosPost(url,params){ return new Promise((resolve, reject) => { //以下部分是拦截器功能 axios.interceptors.request.use(config=>{ const token=localStorage.getItem('token') if(token){ config.headers.authorization=token } return config },err=>{ }) //下面是正常的 axios({ url: url, method: 'post', data: params, headers: { 'Content-Type':'application/json' } }) .then(res=>{ resolve(res.data); }); }); }
推薦:《最新的5個vue.js影片教學精選》
以上是vuejs怎麼呼叫js檔案裡面的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!