uni-app——自定義全局函數


簡介

  自定義全局函數很重要。

 

使用

  這里教授使用自定義全局函數,進行路由守衛。

 

 1.在common中創建utils.js, 選擇要掛載的對象。使用vue(此vm)

const install = (Vue,vm) => {
    // 掛載到$u 上    
    vm.$u.utils = {
        isLogin:() =>{
            if( !vm.vuex_token ){
                vm.$u.toast("請登錄");
                setTimeout(()=>{
                    uni.redirectTo({
                        url:"/pages/auth/login"
                    })
                },2000)
                return false;
            }
            return true;
        }
    }
}
export default {
    install
}

 

  2.main.js注冊

// 引入自定義工具
import utils from '@/common/utils.js'
Vue.use(utils, app)

 

       3. 調用

    vue.$u.掛載名(就是import名稱).函數名
    例如:vue.$u.utils.isLogin()

 

 

這里有個小點,因為setTimeout(function(){} , int )是異步執行,所以要有返回值判斷被路由守衛的是否繼續執行

    onLoad() {
            console.log("vuex_token: "+this.vuex_token);
            
            // 因為 setTimeout是異步執行,如果讓下面代碼執行。可能因為沒有數據報錯。所以獲取false后直接return,不執行下面代碼
            if( !this.$u.utils.isLogin() ) { return }
            
            console.log(1111);
            console.log("Ssssssssss");
        },

 


免責聲明!

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



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