vuex的store模式,

  vuex的store模式,

  这篇文章主要介绍了某视频剪辑软件动态添加商店,路由和国际化配置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  

目录

   vue动态添加店,路由和国际化某视频剪辑软件动态添加storevue动态添加路由某视频剪辑软件动态加载国际化前端项目用vue-i18n实现国际化在项目中安装国际化包的依赖配置文件异步方式引入,一次只加载一种国际化包非异步步方式,每次加载所有的包使用切语言

  

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

  

vue动态添加store

  想写组件库?用这个吧…

  //存储模块标准格式

  从" @/商店/模块/演示"导入演示

  $store.registerModule(demo ,demo)

  

vue动态添加路由

  从后端加载路由不再是梦…

  //不加这个可以跳转,但是选择里面没有新加的信息

  $router.options.routes.push(.路由器阵列)

  $router.beforeEach

  $router.beforeResolve

  $router.afterEach

  $router.beforeHooks //数组

  $router.afterHooks //数组

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

  

vue动态加载国际化

  从后端加载国际化,如此简单…

  $i18n.setLocaleMessage(zh_CN ,messageObject)

  //或者

  i18n美元。mergeloclocalemessage( zh _ CN ,messageObject)

  

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

  

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

  npm i vue-i18n -保存

  

配置文件

  作为独立的i18n文件,在主页。射流研究…中引入。要是国际化文件不多,建议用非异步方式引入。

  

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

  lang/index.js

  从“Vue”导入Vue

  //从" js-cookie "导入甜饼干

  从" vue-i18n "导入VueI18n

  vue。使用(vue i18n);

  I18n类扩展了VueI18n {

  构造函数(){

  超级({

  区域设置: ,

  消息:{},

  });

  }

  //vue i18n初始化

  异步初始化(){

  const俚语=这个。get lang();

  等待this.setLocale(俚语);

  还这个;

  }

  //获取/更新语言

  getLang() {

  //获取定义语言

  //需要取饼干里面的值的话就加上

  //俚语=cookies。get( language ) 导航器。语言 zh-CN ;

  让俚语=航海家。语言 zh-CN ;

  回归俚语;

  }

  //设置区域语言

  异步设置区域设置(俚语){

  //异步加载语言消息

  常量加载消息=异步函数(俚语){

  const ome messages={ };

  尝试{

  //本地语言文件

  const oProjectMessage=await import(` ./$ {俚语} `);

  //需要元素里面的语言包的话就加上

  //const oElementMessage=await import(

  //` element-ui/lib/locale/lang/$ { sLang } `

  //);

  //分配语言消息

  对象。分配(

  信息,

  oProjectMessage.default,

  //oElementMessage.default,

  );

  } catch(错误){

  抛出新错误(错误);

  }

  返回消息;

  };

  常量消息=等待加载消息(俚语);

  //vue-i18n的方法

  this.setLocaleMessage(俚语,omemessages);

  //更新语言

  this.locale=俚语;

  }

  }

  导出默认的新i18n();

  *main.js

  从“Vue”导入Vue

  从导入应用程序. 1/app。vue ;

  从导入路由器./路由器;

  从导入i18n ./lang/index ;//引入i8n配置

  导入“正常化。CSS”;

  vue。配置。生产提示=假;

  //初始化i18n和某视频剪辑软件

  i18n.init().然后(异步(oI18n)={

  新Vue({

  路由器,

  i18n: oI18n,//挂在在某视频剪辑软件下

  渲染:函数(h) {

  返回h(App);

  },

  }).$ mount( # app );

  });

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

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

  

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

  lang/index.js

  从“Vue”导入Vue//引入某视频剪辑软件

  从" vue-i18n "导入VueI18n//引入i18n

  //从" element-ui/lib/locale"//导入区域设置引入元素国际化配置

  从" js-cookie "导入曲奇;

  从导入cn ./zh-CN ;//简体中文语言文件

  从导入tw ./zh-TW ;//繁体中文语言文件

  从导入恩./en ;

  vue。使用(vue i18n);

  const locale=cookie。get( language ) 导航器。语言 zh-CN ;

  //创建实例并且挂在自定义语言包

  const i18n=new VueI18n({

  区域设置:区域设置,//默认语言为中文

  消息:{

  zh-CN: cn,

  zh-TW: tw,

  恩,

  },

  silentTranslationWarn: true,

  });

  //locale.i18n((键,值)=i18n.t(键,值));//把元素的语言包挂在到i18n中

  导出默认i18n//导出实例

  主页。射流研究…

  *从“Vue”导入Vue

  从导入应用程序. 1/app。vue ;

  从导入路由器./路由器;

  从导入i18n ./lang/index ;//引入i8n配置

  导入“正常化。CSS”;

  //导入通用插件

  从导入实用程序./utils ;

  vue。配置。生产提示=假;

  //安装实用程序

  vue。使用(utils);

  新Vue({

  路由器,

  i18n,//挂在在某视频剪辑软件下

  渲染:函数(h) {

  返回h(App);

  },

  }).$ mount( # app );

  /* 路由发生变化修改页面标题*/

  router.beforeEach(收件人,发件人,下一个)={

  如果(收件人姓名){

  文档。title=` $ { i18n。t( title )}-$ { i18n。t(到。name)} `;

  }

  next();

  });

  lang/zh-CN.js

  导出默认值{

  标题: 梦醒在笑-标题,

  编辑: 修改,

  }

  郎

  导出默认值{

  标题:标题,

  编辑:"编辑",

  }

  lang/zh-TW.js

  导出默认值{

  标题: 繁體標題,

  编辑: 編輯,

  }

  

使用

  在超文本标记语言中使用

  div{{ $i18n.t(title)}}/div

  在射流研究…中使用

  这个i18n美元。t(标题)

  

切语言

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

  //在页面上这样调用昌隆( zh-TW )昌隆( zh-CN )昌隆( en )

  changeLang(lang) {

  //切换语言

  这个. lang=lang

  这个. locale=lang

  这个. utils.cookie.set(language ,lang);

  },

  以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: