【玩玩Vue】通过vue-store实现枚举管理,用于下拉选项和中英文翻译等

news2024/12/23 12:28:48

原文作者:我辈李想
版权声明:文章原创,转载时请务必加上原文超链接、作者信息和本声明。


文章目录

  • 一、store基础用法
    • 1.在src下新建store文件夹,在store下新建module文件夹
    • 2.在module下新建enums.js文件
    • 3.在store下新建getters.js文件
    • 4.在store下新建index.js文件
    • 5.修改src下main.js文件
    • 6.vue文件调用
  • 二、中英文翻译
    • 1.在src下建立中英文翻译的文件夹language,继续新建en.js、zh.js、index.js文件
    • 2.en.js和zh.js内容
    • 3.index.js内容
    • 4.修改src下main.js文件
    • 5.修改enums.js文件,修改value属性
    • 6.vue文件调用


一、store基础用法

1.在src下新建store文件夹,在store下新建module文件夹

在这里插入图片描述

2.在module下新建enums.js文件

export default {
  namespaced: true, // 开启命名空间
  state: {
    options: {
    	modeList: [
        // 成像模式下拉
        {
          id: '聚束SP',
          value: '聚束SP'
        },
        {
          id: '条带SM',
          value: '条带SM'
        },
        {
          id: 'TP',
          value: 'TOPS'
        },
        {
          id: '窄扫NS',
          value: '窄扫NS'
        },
        {
          id: '宽扫ES',
          value: '宽扫ES'
        }
      ],
      orbitList: [
        // 升降轨限制下拉
        {
          id: '均可',
          value: '均可'
        },
        {
          id: '升轨',
          value: '升轨'
        },
        {
          id: '降轨',
          value: '降轨'
        }
      ],
    }
  }
};

3.在store下新建getters.js文件

const getters = {
  userInfo: (state) => state.user.userInfo, // 用户信息
  language: (state) => state.user.language, // 用户信息
  Satellite: (state) => state.user.Satellite, // 用户信息
  token: (state) => state.user.token, //
  userId: (state) => state.user.userId,
  routes: (state) => state.permission.routes,
};
export default getters;

4.在store下新建index.js文件

import Vue from 'vue';
import Vuex from 'vuex';
import getters from './getters';
import permission from './module/permission';
import user from './module/user'; // 用户信息
import enums from './module/enums'; // 枚举统一
Vue.use(Vuex);

export default new Vuex.Store({
  state: {},
  getters,
  mutations: {},
  actions: {},
  modules: {
    user,
    permission,
    enums
  }
});

5.修改src下main.js文件

import Vue from 'vue';
import App from './App.vue';
import store from './store';

Vue.config.productionTip = false

new Vue({
  store,
  render: (h) => h(App)
}).$mount('#app');

6.vue文件调用

<template>
	<el-select
	   v-model="param.img_mode"
	   size="mini"
	   style="width: 100%"
	   :placeholder="'programOrder.ImagingMode"
	   @change="count"
	 >
	   <el-option
	     v-for="(item, index) in selectoptions.modeList"
	     :key="index"
	     :label="item.value"
	     :value="item.id"
	   />
	 </el-select>
</template>

export default {
  created() {
    this.selectoptions = this.$store.state.enums.options;
  },
}

在这里插入图片描述

二、中英文翻译

1.在src下建立中英文翻译的文件夹language,继续新建en.js、zh.js、index.js文件

在这里插入图片描述

2.en.js和zh.js内容

en.js如下

module.exports = {
  // 编程订单
  programOrder: {
    SpotLight: 'SpotLight - SP',
    StripMap: 'StripMap - SM',
    ScanSARNarrow: 'ScanSAR Narrow - NS',
    ScanSARWide: 'ScanSAR Wide - ES',
  }
}

zh.js如下

module.exports = {
  // 编程订单
  programOrder: {
    SpotLight: '聚束SP',
    StripMap: '条带SM',
    ScanSARNarrow: '窄扫NS',
    ScanSARWide: '宽扫ES',
  }
}

3.index.js内容

import elementEn from 'element-ui/lib/locale/lang/en';
import elementCn from 'element-ui/lib/locale/lang/zh-CN';
import Vue from 'vue';
import VueI18n from 'vue-i18n';
import enLocale from './en';
import usLocal from './zh';
Vue.use(VueI18n);
const messages = {
  zh: {

    ...usLocal,
    ...elementCn
  },
  en: {
    ...enLocale,
    ...elementEn
  }
};
const i18n = new VueI18n({
  locale: localStorage.getItem('language') || 'zh', // 通过this.$i18n.locale的值实现语言切换
  messages
});

export default i18n;

4.修改src下main.js文件

import Vue from 'vue';
import App from './App.vue';
import store from './store';
import i18n from './language';

Vue.config.productionTip = false

new Vue({
  store,
  i18n,
  render: (h) => h(App)
}).$mount('#app');

5.修改enums.js文件,修改value属性

注意value的值

export default {
  namespaced: true, // 开启命名空间
  state: {
    options: {
    	modeList: [
        // 成像模式下拉
        {
          id: '聚束SP',
          value: 'programOrder.SpotLight'
        },
        {
          id: '条带SM',
          value: 'programOrder.StripMap'
        },
        {
          id: 'TP',
          value: 'TOPS'
        },
        {
          id: '窄扫NS',
          value: 'programOrder.ScanSARNarrow'
        },
        {
          id: '宽扫ES',
          value: 'programOrder.ScanSARWide'
        }
      ],
      orbitList: [
        // 升降轨限制下拉
        {
          id: '均可',
          value: '均可'
        },
        {
          id: '升轨',
          value: '升轨'
        },
        {
          id: '降轨',
          value: '降轨'
        }
      ],
    }
  }
};

6.vue文件调用

注意label的值

<template>
	<el-select
	   v-model="param.img_mode"
	   size="mini"
	   style="width: 100%"
	   :placeholder="$t('programOrder.ImagingMode')"
	   @change="count"
	 >
	   <el-option
	     v-for="(item, index) in selectoptions.modeList"
	     :key="index"
	     :label="$t(item.value)"
	     :value="item.id"
	   />
	 </el-select>
</template>

export default {
  created() {
    this.selectoptions = this.$store.state.enums.options;
  },
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1018217.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mybatis学习笔记3 在Web中应用Mybatis

Mybatis学习笔记2 增删改查及核心配置文件详解_biubiubiu0706的博客-CSDN博客 技术栈:HTMLServletMybatis 学习目标: 掌握mybatis在web应用中如何使用 Mybatis三大对对象的作用域和生命周期 关于Mybatis中三大对象的作用域和生命周期、 官网说明 ThreadLocal原理及使用 巩…

【古诗文网登录】

文章目录 古诗文网简介python登录 古诗文网简介 古诗文网登录界面 模拟登录两大难点 __VIEWSTATE、__VIEWSTATEGENERATOR两个动态参数验证码 python登录 1、解析登录界面&#xff0c;获取__VIEWSTATE、__VIEWSTATEGENERATOR参数2、获取登陆界面验证码图片&#xff0c;输入…

爬虫 — 自动化爬虫 Selenium

目录 一、介绍二、对比三、安装四、简单使用五、定位元素1、By.ID2、By.CLASS_NAME3、By.NAME4、By.TAG_NAM5、By.XPATH 六、操作元素1、在输入框输入内容并搜索2、打开网站搜索音乐并播放 七、Cookie 操作1、获取所有的 Cookie2、根据 Cookie 的 name 获取 Cookie3、删除某个 …

《低代码指南》——低代码+AI,驱动企业数字资产保值增值

各位嘉宾,大家上午好!非常荣幸能借助钛媒体数字价值峰会这个平台跟大家交流。 了解奥哲的朋友知道,奥哲是国内第一家官宣聚焦低代码领域,并且以低代码定位获得融资的数字化企业。 过去两三年,低代码得到了飞速发展,我在此想跟各位分享下我们在过去实践过程中的一些发现,…

Java“牵手”速卖通商品列表页数据采集+速卖通商品价格数据排序,速卖通API接口申请指南

速卖通是阿里巴巴旗下的面向国际市场打造的跨境电商平台&#xff0c;被称为国际版淘宝&#xff0c;速卖通面向海外买家客户&#xff0c;通过支付宝国际账户进行担保交易&#xff0c;并使用国际物流渠道运输发货&#xff0c;是全球第三大英文在线购物网站。 速卖通商品列表数据…

【资源监视器】设备占用,强制弹出移动硬盘

设备占用&#xff0c;强制弹出移动硬盘 任务管理器中找到资源监视器 资源监视器&#xff1a;找到CPU 输入磁盘&#xff1a;如H: , 点击旁边的刷新 结束句柄 右键

CorelDRAW 2023怎么把图片转化为手绘素描风 简单几步轻松搞定

CorelDRAW 2023是一款非常好用的设计类软件&#xff0c;软件拥有非常多强大又好用的功能&#xff0c;可以帮助设计师快速创造出想要的效果&#xff0c;今天我们就来给大家介绍一下CDR的“素描”艺术笔触。它可以帮助用户快速将普通的图片快速转换成类似素描的风格&#xff0c;在…

AMD GPU 内核驱动分析(二)-gpu_sched

AMDGPU驱动模块的依赖关系如下图,gpu_sched.ko位于GPU驱动架构的中间层&#xff0c;主要负责对应用发送下来的渲染和计算等命令进行调度&#xff1a; 编译gpu_sched.ko 模块源码位于linux-x.x.xx/drivers/gpu/drm/scheduler下&#xff0c;通过CONFIG_DRM_SCHED项配置编译。从M…

更新至2021年,互联网相关指标数据

更新至2021年&#xff0c;互联网相关指标数据 1、来源&#xff1a;国家统计J和各省NJ 2、指标&#xff1a;域名数、网站数、网页数、互联网宽带接入端口、互联网宽带接入用户、城市宽带接入用户、移动互联网用户、移动互联网接入流量、联网上网人数 3、范围&#xff1a;31省…

四、日志编写 —— TinyWebServer

日志编写 —— TinyWebServer 一、 前言 上期已经写完lock类的编写。这期是日志的编写。 对于日志需要弄懂几个基本概念才可以更好的理解和编写日志。 什么是日志&#xff1f;常用的日志级别有哪些&#xff1f;日志的基本格式是什么&#xff1f;异步日志类刷新缓冲区的作用同…

虚幻4学习笔记(12)操控导入的角色、动画蓝图、播放蒙太奇和打包、角色重定向

虚幻4学习笔记 操控导入的角色设置鼠标旋转关掉动态模糊 动画蓝图、播放蒙太奇和打包角色走路奔跑动画shift 奔跑F 跳舞移动打断 跳舞 打包角色重定向姿势调整解决跑步 腿分太开隐藏剑 B站UP谌嘉诚课程&#xff1a;https://www.bilibili.com/video/BV164411Y732 操控导入的角色…

FreeSWITCH 1.10.10 简单图形化界面10 - 鼎兴FXO网关SIP注册公网IPPBX落地

FreeSWITCH 1.10.10 简单图形化界面10 - 鼎兴FXO网关SIP注册公网IPPBX落地 0、 界面预览1、创建一个话务台2、创建PBX SIP中继并设置呼入权限3、设置呼出规则4、设置分机呼出权限5、设置FXO 网关相关信息6、设置FXO网关端口组呼入号码7、设置FXO网关呼叫路由&#xff08;呼入及…

Eclipse搭建struts2框架

新建动态web项目&#xff1b; 输入项目名称&#xff1b; New Runtime后选择如下&#xff0c; 选择tomcat的安装目录&#xff1b; 然后如下&#xff0c;完成&#xff1b; 当前的目录结构如下&#xff1b;之前要配置好java环境&#xff1b; 如果创建项目时没有选中生成web.xml&am…

人工智能学习1

文章目录 人工智能人工智能的诞生人工智能的发展历程人工智能与机器学习的关系 机器学习机器学习的发展历程讨论机器学习的必要性机器学习的定义机器学习的三要素机器学习的基本概念作业 人工智能 人工智能的诞生 人工智能诞生于一群科学家想使用机器模拟人类思维或者人类智能…

黑马JVM总结(十二)

&#xff08;1&#xff09;五种引用_强软弱 实线箭头表示强引用&#xff0c;虚心线表示软弱虚终结器引用 在平时我们用的引用&#xff0c;基本都为强引用 &#xff0c;比如说创建一个对象通过运算符赋值给了一个变量&#xff0c;那么这个变量呢就强引用了刚刚的对象 强引用的…

Linux 磁盘挂载 磁盘卸载

挂载&#xff1a; 虚拟机中本来是没有光盘&#xff0c;但是有复刻的镜像文件&#xff0c;不影响我们挂载&#xff0c;当我们将镜像设备挂载到固定的目录下后&#xff0c;我们就可以通过访问目录&#xff0c;来查看镜像文件中的内容。 1. 创建挂载点&#xff1a; 一般虚拟设备上…

Java进化史:从Java 8到Java 17的语言特性全解析

文章目录 Java 8&#xff1a;引入Lambda表达式和Stream APILambda表达式Stream API Java 9&#xff1a;模块化系统模块Jigsaw项目 Java 10&#xff1a;局部变量类型推断Java 11&#xff1a;引入HTTP客户端HTTP客户端 Java 12&#xff1a;引入Switch表达式Switch表达式 Java 13到…

为什么学鸿蒙HarmonyOS——兴趣使然,HarmonyOS是一款面向万物互联时代的、全新的分布式操作系统

为什么学鸿蒙HarmonyOS 为什么学鸿蒙的诞生鸿蒙的未来鸿蒙OS典型案例鸿蒙是分布式操作系统总结参考学习资料 为什么学 兴趣使然&#xff0c;了解了一下鸿蒙系统的历史&#xff0c;是AIOT系统&#xff0c;是中国的未来的核心系统 鸿蒙&#xff1a;HarmonyOS是一款面向万物互联时…

antd a-list 添加分页

会分为三部分 template <a-list item-layout"horizontal" :data-source"localData" :pagination"{...paginationProps,current:currentPage}"><a-list-item slot"renderItem" slot-scope"item"><a-list-ite…

伪原创工具-好用的伪原创软件有哪些特征

在这个信息爆炸的时代&#xff0c;我们每天都要处理大量的文字信息&#xff0c;不管是在学校里写作业&#xff0c;还是在工作中处理文件。有时候&#xff0c;为了节省时间和精力&#xff0c;我们会考虑使用一些文章伪原创工具。 什么是文章伪原创&#xff1f; 让我们来明确一…