简介
自定义全局函数很重要。
使用
这里教授使用自定义全局函数,进行路由守卫。
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"); },