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");
        },
复制代码

 

posted @   remix_alone  阅读(2531)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示