国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

vue的全局變量和全局攔截請求器

liuchengxu / 2069人閱讀

摘要:全局變量的實現全局變量專用模塊是以一個特定模塊來組織管理全局變量,需要引用的地方導入該模塊即可。如的全局請求攔截器在全局變量專用模塊中設置全局請求攔截器,以在全局攔截器中添加請求超時的方法為例,若請求超時則取消此次請求,并提示用戶。

做的產品證書管理系統使用的是VueJs和ElementUI,現將遇到的一些知識點記錄一下。

VUe全局變量的實現

全局變量專用模塊Global.vue是以一個特定模塊來組織管理全局變量,需要引用的地方導入該模塊即可。使用方法如下:
將全局變量模塊掛載到Vue.prototype里,在程序入口的main.js里加下面代碼:

import Global from "../components/Global.vue"
Vue.prototype.global = Global

掛載后,在需要引用全局變量的模塊時,不需要再導入全局變量模塊,直接用this引用即可。 如:this.global.notifySuccess()

Vue的全局請求攔截器

在全局變量專用模塊Global.vue中設置全局Vue請求攔截器,以在全局攔截器中添加請求超時的方法為例,若請求超時則取消此次請求,并提示用戶。請求超時設置通過攔截器Vue.http.interceptors實現具體代碼如下:

 Vue.http.interceptors.push((request,next) => {
   let timeout
   // 如果某個請求設置了_timeout,那么超過該時間,該終端會(abort)請求,并執行請求設置的鉤子函數onTimeout方法,不會執行then方法。
   if (request._timeout) {
     timeout = setTimeout(() =>{
       if (request.onTimeout) {
         request.onTimeout(request)
         request.abort()
         }
       }, request._timeout)
   }
   next((response) => {
     clearTimeout(timeout)
     return response
     })
 })

當頁面中用到vue-resource請求的地方設置如下即可:

this.$http.get("url",{
        params:{.......},
        ......
        _timeout:3000,
        onTimeout: (request) => {
           alert("請求超時");
       }
    }).then((response)=>{
});
Vue的全局守衛

全局路由守衛是指在路由跳轉時對登錄狀態進行檢查。可以使用router.beforeEach注冊一個全局前置守衛:

const router = new VueRouter({…})
Router.beforeEach((to,from,next)=> { …})

當一個導航觸發時,全局前置守衛按照創建順序調用。守衛是異步解析執行,此時導航在所有守衛resolve完之前一直處于等待中。每個守衛方法接收三個參數:
to:Route即將要進入的目標,即路由對象;
from:Route當前導航正要離開的路由;
next:Function:一定要調用該方法來resolve這個鉤子。執行效果依賴next方法的調用參數。
使用實例如下:

// 全局路由守衛,路由時檢查用戶是否登錄,若無登錄信息,指向登錄界面
router.beforeEach((to, from, next) => {
    const nextRoute = ["AdminIndex","系統設置", "產品管理", "客戶管理", "證書管理", "日志管理"]
    if (nextRoute.indexOf(to.name)>= 0) {
        if (sessionStorage.getItem("username")){
            next()
        } else {
            window.location.replace("/login.html")
        }
    } else {
      next()
    }
})

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/97709.html

相關文章

  • 基于vue-cli3.0構建功能完善移動端架子

    摘要:對應每一個環境可能都會有所差異,比如說服務器地址接口地址地址等等。具體的值取決于應用運行的模式。會和中的選項相符,即你的應用會部署到的基礎路徑。 基于vue-cli3.0構建功能完善的移動端架子,主要功能包括 webpack 打包擴展 css:sass支持、normalize.css、_mixin.scss、_variables.scss vw、rem布局 跨域設置 eslint設置...

    Loong_T 評論0 收藏0
  • 整理1

    摘要:加快整體響應速度。步驟,用戶在商戶中選擇商品,提交訂單,選擇微信支付。微信支付要求商戶訂單號保持唯一性,商戶后臺收到用戶支付單,調用微信支付統一下單接口。,與團隊成員,,產品經理的溝通。 一:頁面性能優化:1,減少http請求,資源的合并與壓縮,恰當的緩存,不濫用float,雪碧圖代替圖片,異步加載。減少dom節點,二: 數組的深淺拷貝1,假設B復制了A,當修改A時,看B是否會發生變化...

    imtianx 評論0 收藏0
  • 整理1

    摘要:加快整體響應速度。步驟,用戶在商戶中選擇商品,提交訂單,選擇微信支付。微信支付要求商戶訂單號保持唯一性,商戶后臺收到用戶支付單,調用微信支付統一下單接口。,與團隊成員,,產品經理的溝通。 一:頁面性能優化:1,減少http請求,資源的合并與壓縮,恰當的緩存,不濫用float,雪碧圖代替圖片,異步加載。減少dom節點,二: 數組的深淺拷貝1,假設B復制了A,當修改A時,看B是否會發生變化...

    zgbgx 評論0 收藏0
  • 整理1

    摘要:加快整體響應速度。步驟,用戶在商戶中選擇商品,提交訂單,選擇微信支付。微信支付要求商戶訂單號保持唯一性,商戶后臺收到用戶支付單,調用微信支付統一下單接口。,與團隊成員,,產品經理的溝通。 一:頁面性能優化:1,減少http請求,資源的合并與壓縮,恰當的緩存,不濫用float,雪碧圖代替圖片,異步加載。減少dom節點,二: 數組的深淺拷貝1,假設B復制了A,當修改A時,看B是否會發生變化...

    idealcn 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<