Vue.prototype.$Jmessage.loading('登录已过期,正在重新登陆', 0);vue2.x完整转化为vue3.x
时间: 2024-09-15 19:06:16 浏览: 81
浅谈Vue.use到底是什么鬼
在Vue 2.x 中,`Vue.prototype.$Jmessage` 是一个自定义的对象,其中的 `loading` 方法用于显示加载提示信息。在升级到Vue 3.x时,由于不再推荐直接在原型上添加全局属性,可以考虑以下几种方式转换:
1. 使用Composition API ( Composition Setup):
```javascript
import { onMounted } from 'vue';
const Jmessage = {
loading(text, duration) {
// 在这里处理加载提示,比如使用第三方库或原生API
// 示例:console.log(`Loading: ${text}...`);
},
};
export default {
setup() {
onMounted(() => {
Jmessage.loading('登录已过期,正在重新登陆', 0);
});
return {};
},
};
```
2. 使用 Options API 并引入插件式架构(如Vuex或Event Bus):
```javascript
import store from './store';
import { mapActions } from 'vuex';
export default {
computed: {
...mapActions(['showLoading']),
},
methods: {
handleLoginExpiration() {
this.showLoading('登录已过期,正在重新登陆', 0);
},
},
mounted() {
this.handleLoginExpiration();
},
};
```
在这个例子中,你需要在`store.js`里创建`showLoading`这个action。
阅读全文