iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >vue如何动态添加store、路由和国际化配置方式
  • 303
分享到

vue如何动态添加store、路由和国际化配置方式

2023-06-29 18:06:30 303人浏览 八月长安
摘要

这篇文章主要为大家展示了“Vue如何动态添加store、路由和国际化配置方式”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue如何动态添加store、路由和国际化配置方式”这篇文章吧。vue动

这篇文章主要为大家展示了“Vue如何动态添加store、路由和国际化配置方式”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue如何动态添加store、路由和国际化配置方式”这篇文章吧。

    vue动态添加store,路由和国际化

    vue动态添加store

    想写组件库?用这个吧 …

    // store module标准格式import demo from '@/store/modules/demo'$store.reGISterModule('demo', demo)

    vue动态添加路由

    后端加载路由不再是梦 …

    // 不加这个可以跳转,但是options里面没有新加的信息$router.options.routes.push(...routerArray)$router.beforeEach$router.beforeResolve$router.afterEach$router.beforeHooks  // 数组$router.afterHooks  // 数组

    用这些修改全局路由守卫及守卫顺序

    vue动态加载国际化

    从后端加载国际化,so easy …

    $i18n.setLocaleMessage('zh_CN', messageObject)// or$i18n.mergeLocaleMessage('zh_CN', messageObject)

    前端项目中用vue-i18n实现国际化

    在项目中安装国际化包的依赖

    npm i vue-i18n --save

    配置文件

    作为独立的i18n文件,在main.js中引入。要是国际化文件不多,建议用非异步方式引入。

    异步方式引入,一次只加载一种国际化包

    lang/index.js

    import Vue from 'vue';// import Cookies from 'js-cookie'import VueI18n from 'vue-i18n';Vue.use(VueI18n);class I18n extends VueI18n {    constructor() {        super({            locale: '',            message: {},        });    }    // vue i18n init    async init() {        const sLang = this.getLang();        await this.setLocale(sLang);        return this;    }    // get/update language    getLang() {        // get define language        // 需要取cookies里面的值的话就加上        // sLang = Cookies.get('language') || navigator.language || 'zh-CN';        let sLang = navigator.language || 'zh-CN';        return sLang;    }    // set locale language    async setLocale(sLang) {        // async load language message        const loadMessages = async function(sLang) {            const oMessages = {};            try {                // local language file                const oProjectMessage = await import(`./${sLang}`);                // 需要 element 里面的语言包的话就加上                // const oElementMessage = await import(                //     `element-ui/lib/locale/lang/${sLang}`                // );                // assign language message                Object.assign(                    oMessages,                    oProjectMessage.default,                    // oElementMessage.default,                );            } catch (error) {                throw new Error(error);            }            return oMessages;        };        const oMessages = await loadMessages(sLang);        // vue-i18n的方法        this.setLocaleMessage(sLang, oMessages);        // update lang        this.locale = sLang;    }}export default new I18n();

    *main.js

    import Vue from 'vue';import App from './App.vue';import router from './router';import i18n from './lang/index'; //引入i8n配置import 'nORMalize.CSS';Vue.config.productionTip = false;// 初始化i18n和Vuei18n.init().then(async (oI18n) => {    new Vue({        router,        i18n: oI18n, //挂在在vue 下        render: function(h) {            return h(App);        },    }).$mount('#app');});

    以上异步方式适合应用在项目用默认的国际化语言,如果在页面上切语言的话,会很不方便,需要大刷。

    下面推荐一下页面上有切语言的,非异步方式,一次加载所有的国际化文件。

    非异步步方式,每次加载所有的包

    lang/index.js

    import Vue from 'vue'; // 引入Vueimport VueI18n from 'vue-i18n'; // 引入i18n// import locale from 'element-ui/lib/locale' // 引入element 国际化配置import cookie from 'js-cookie';import cn from './zh-CN'; //简体中文语言文件import tw from './zh-TW'; //繁体中文语言文件import en from './en';Vue.use(VueI18n);const locale = cookie.get('language') || navigator.language || 'zh-CN';// 创建实例并且挂在自定义语言包const i18n = new VueI18n({    locale: locale, // 默认语言为中文    messages: {        'zh-CN': cn,        'zh-TW': tw,        en,    },    silentTranslationWarn: true,});// locale.i18n((key, value) => i18n.t(key, value)); // 把element 的语言包挂在到i18n中export default i18n; // 导出实例

    main.js

    * import Vue from 'vue';import App from './App.vue';import router from './router';import i18n from './lang/index'; //引入i8n配置import 'normalize.css';// import common pluginsimport utils from './utils';Vue.config.productionTip = false;// install utilsVue.use(utils);new Vue({    router,    i18n, // 挂在在vue 下    render: function(h) {        return h(App);    },}).$mount('#app');router.beforeEach((to, from, next) => {    if (to.name) {        document.title = `${i18n.t('title')}-${i18n.t(to.name)}`;    }    next();});

    lang/zh-CN.js

     export default {    title: '梦醒在笑-标题',    edit: '修改',    }

    lang/cn.js

     export default {    title: 'title',    edit: 'edit',    }

    lang/zh-TW.js

     export default {    title: '繁體﹣標題',    edit: '編輯',    }

    使用

    html中使用

     <div>{{ $i18n.t('title')}}</div>

    在JS中使用

    this.$i18n.t('title')

    切语言

    非异步方式切换完页面不用刷新。

    //在页面上这样调用 changeLang('zh-TW')changeLang('zh-CN')changeLang('en')changeLang(lang) {   //切换语言   this.lang = lang;   this.$i18n.locale = lang;   this.$utils.cookie.set('language', lang);},

    以上是“vue如何动态添加store、路由和国际化配置方式”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

    --结束END--

    本文标题: vue如何动态添加store、路由和国际化配置方式

    本文链接: https://www.lsjlt.com/news/326022.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • vue动态添加store、路由和国际化配置方式
      目录vue动态添加store,路由和国际化vue动态添加storevue动态添加路由vue动态加载国际化前端项目用vue-i18n实现国际化在项目中安装国际化包的依赖配置文件异步方式...
      99+
      2024-04-02
    • vue如何动态添加store、路由和国际化配置方式
      这篇文章主要为大家展示了“vue如何动态添加store、路由和国际化配置方式”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue如何动态添加store、路由和国际化配置方式”这篇文章吧。vue动...
      99+
      2023-06-29
    • vue项目keepAlive配合vuex动态设置路由缓存方式
      目录需求效果图解决方案1.App.vue文件2.main.js文件3.store/modules/common.js文件4.utils/utils.js文件5.store/index...
      99+
      2024-04-02
    • vue后台管理如何配置动态路由菜单
      目录后台管理配置动态路由菜单根据权限生成动态路由及导航菜单后台管理配置动态路由菜单 前段时间做一个后台管理项目,因为超级管理员可以给普通管理员动态更改权限,所以vue-element...
      99+
      2024-04-02
    • vue动态路由指的是什么该如何配置
      今天小编给大家分享一下vue动态路由指的是什么该如何配置的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。在vue中,动态路由就...
      99+
      2023-06-29
    • springboot配置开发和测试环境并添加启动路径方式
      目录springboot配置开发和测试环境并添加启动路径SpringBoot配置文件(多环境配置dev、test、prod、启动器类的位置)多环境配置启动器类的位置springboo...
      99+
      2024-04-02
    • springboot配置开发和测试环境并添加启动路径方式方法是什么
      本篇内容主要讲解“springboot配置开发和测试环境并添加启动路径方式方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“springboot配置开发和测试环境并添加启动路径方式方法是什...
      99+
      2023-06-25
    • 云服务器如何配置路由器设置密码和网络连接方式
      一、配置路由器密码 在云服务器的管理界面中,我们需要设置一个登录密码,这个密码需要与云服务器的管理系统密码一致。为了避免密码泄露,我们可以采用以下两种方法来设置密码: 使用密码管理器:密码管理器是一种轻量级的密码管理工具,可以通过命令行...
      99+
      2023-10-28
      路由器 密码 方式
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作