首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用vuex翻译v-html指令i18 vue中的管道

在Vue中,v-html指令用于将数据作为HTML解析并渲染到DOM中。而i18是国际化的缩写,是指将应用程序适配到不同的语言和地区。

要使用vuex来翻译v-html指令中的内容,首先需要在Vue应用中安装并配置vuex。Vuex是Vue.js的官方状态管理库,用于集中管理应用的所有组件的状态。

以下是一种可能的实现方式:

  1. 首先,在Vue应用中安装vuex。可以通过npm或yarn安装vuex,并在main.js文件中引入和配置vuex。
代码语言:txt
复制
import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

const store = new Vuex.Store({
  state: {
    language: 'en', // 默认语言为英文
    translations: {
      en: {
        // 英文翻译
        // ...
      },
      zh: {
        // 中文翻译
        // ...
      },
      // 其他语言翻译
      // ...
    }
  },
  mutations: {
    setLanguage(state, language) {
      state.language = language
    }
  },
  getters: {
    translation(state) {
      return state.translations[state.language]
    }
  }
})

new Vue({
  store,
  // ...
}).$mount('#app')
  1. 在需要翻译的组件中,使用vuex的辅助函数mapGetters来获取翻译内容,并使用v-html指令渲染到DOM中。
代码语言:txt
复制
<template>
  <div>
    <div v-html="translatedContent"></div>
  </div>
</template>

<script>
import { mapGetters } from 'vuex'

export default {
  computed: {
    ...mapGetters(['translation']),
    translatedContent() {
      // 假设要翻译的内容存储在data中的content变量中
      const content = this.content
      const translation = this.translation

      // 使用翻译内容替换原始内容
      return content.replace(/{{(.*?)}}/g, (match, key) => {
        return translation[key] || match
      })
    }
  }
}
</script>

在上述代码中,我们通过mapGetters辅助函数将vuex的getter方法映射到组件的计算属性中。然后,在计算属性中,我们获取到当前语言对应的翻译内容,并使用正则表达式将需要翻译的内容替换为对应的翻译结果。

需要注意的是,上述代码中的翻译内容是存储在vuex的state中的translations对象中的,根据当前语言选择对应的翻译内容。

这样,通过vuex的状态管理,我们可以实现在Vue应用中使用v-html指令进行国际化翻译。

推荐的腾讯云相关产品:腾讯云国际化产品,详情请参考腾讯云国际化产品介绍

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Vue开发技巧:清除v-html指令中的富文本标签

目录前言背景介绍具体实现正则表达式的其他用法过滤特定标签替换特定标签移除特定属性处理嵌套标签总结前言你好,我是喵喵侠。今天要分享一个实用的Vue技巧,那就是如何使用v-html移除富文本中的样式。...我在某次实际开发中,遇到了后端返回数据包含富文本的情况。在列表页中,我们可能只需要展示富文本的摘要,不带任何样式标签;而在详情页中,则需要保留原本的富文本格式。...针对这种需求,我们可以使用正则表达式来处理富文本内容,使其在不同场景下满足不同的展示需求。背景介绍在Vue项目中,v-html指令可以用来动态地将HTML字符串插入到DOM中。...': 用标签替换标签,并保留原来的属性。//g: 匹配结束的标签,并替换为。...,我们了解了如何在Vue项目中使用v-html移除富文本中的样式,并在不同场景下展示不同的内容。

28710

15个 Vue.js 高级面试题

在有条件地渲染组件或元素时,还可以用 key 属性来向 Vue 发出有关元素唯一性的信号,并确保元素不会被新数据重新修补。 2.你将怎样在模板中渲染原始 HTML?...如果你尝试使用 mustache 标记来渲染 HTML,它将以文本字符串的形式去渲染,并且不会被解析。要将内容渲染和解析为 html,我们可以使用 v-html 指令,如下所示。...style="color: green;">Vue.js' } }); 输出 Vue.js 如上面的例子所示,v-html 指令解析所有HTML,结果上面的语句将按需渲染。...尽管 v-for 指令在基于 HTML 的模板中起作用,但是当使用渲染函数时,可以简单地用标准 .map() 函数遍历 fruits 数据数组。 10....Vue 生态系统中提供了 Vuex,它是官方的状态管理库,也是推荐用于集中存储状态的模式。 Vuex 允许维护中央状态。组件将 Vuex 用作响应性数据存储,并在状态更新时进行更新。

3K20
  • Vue.js 实战总结

    这是来自Vue.js官网的解释,这里我们不打算再照本宣科的把概念翻译一边了,仅就作者使用Vue.js的心得体会来做出解释。熟悉ReactJS或者Angular的读者可能对此并不陌生。...Vue.js试图用一种极简的方式来实现以上这些框架带来的优势,因此,相比于React和Angular来说,Vue.js更加轻量、简介和优美。...常用指令 Vue.js提供了包括v-for、v-if、v-show、v-bind、v-model、v-on、v-html等内部指令,这里不再细说每一个指令的用法,读者可以自行参考文档。...对于vuex的内容比较多,大家可以看这里。vuex api。 生命周期方法 Vue.js提供了一套完整的组件的生命周期钩子方法,你可以在组件的生命周期的各个阶段做该做的事情。...,也算是对这段时间用vue.js的一个回顾。

    8.3K31

    Vue2笔记

    itemName=octref.vetur 什么是 vue 构建用户界面 用 vue 往 html 页面中填充数据,非常的方便 框架 框架是一套现成的解决方案,程序员只能遵守框架的规范,去编写自己的业务功能...vue 的指令、组件(是对 UI 结构的复用)、路由、Vuex、vue 组件库 只有把上面老师罗列的内容掌握以后,才有开发 vue 项目的能力!...v-html 指令的作用:可以把带有标签的字符串,渲染成真正的 HTML 内容! 2. 属性绑定指令 注意:插值表达式只能用在元素的内容节点中,不能用在元素的属性节点中!...条件渲染指令 v-show 的原理是:动态为元素添加或移除 display: none 样式,来实现元素的显示和隐藏 如果要频繁的切换元素的显示状态,用 v-show 性能会更好 v-if 的原理是:每次动态创建或移除元素...return 值 在过滤器的形参中,可以获取到“管道符”前面待处理的那个值 如果全局过滤器和私有过滤器名字一致,此时按照“就近原则”,调用的是”私有过滤器“ watch 侦听器 侦听器的格式 方法格式的侦听器

    2K20

    Vue实用手册

    Vue.js-是国内开发者尤雨溪开发的js框架,它是实现UI层的渐进式框架, Vue借鉴了Angular的指令、React中组件和props等优点进行设计,从最简单的数据处理,到数据交互,到DOM操作,...Vue常用的指令 (1)....6. filters 过滤属性 用于数据的处理,与ng一样,通过 | 管道符号,支持多重过滤,而且支持给过滤器传参,过滤器的本质就是一个函数,自从Vue2.0之后,就已经自带的过滤取消,不再支持,用户要想使用...创建,在Vue实例的filters属性中指定 B. 使用,依然是管道符号,只有传参方式变了:{{ price | currency('¥','@')}} ?...状态管理Vuex Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式,它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化,如果需要构建是一个中大型单页应用

    4.7K20

    2018-08-16 好漂亮的后台模板附教程vue-element-adminvue-element-admin

    它使用了最新的前端技术栈,内置了 i18 国际化解决方案,动态路由,权限验证,提炼了典型的业务模型,提供了丰富的功能组件,它可以帮助你快速搭建企业级中后台产品原型。...本项目技术栈基于 ES2015+、vue、vuex、vue-router 、axios 和 element-ui,所有的请求数据都使用Mock.js模拟,提前了解和学习这些知识会对使用本项目有很大的帮助...同时配套一个系列的教程文章,如何从零构建后一个完整的后台项目,建议大家先看完这些文章再来实践本项目 手摸手,带你用 vue 撸后台 系列一(基础篇) 手摸手,带你用 vue 撸后台 系列二(登录权限篇)...手摸手,带你用 vue 撸后台 系列三 (实战篇) 手摸手,带你用 vue 撸后台 系列四(vueAdmin 一个极简的后台基础模板) 手摸手,带你封装一个 vue component 手摸手,带你优雅的使用...icon 手摸手,带你用合理的姿势使用 webpack4(上) 手摸手,带你用合理的姿势使用 webpack4(下) 如有问题请先看上述使用文档和文章,若不能满足,欢迎 issue 和 pr <p align

    7.6K40

    VUE中的模板语法以及过滤器和双向数据绑定

    html模板语法: 这是一种基于字符串的模板技术,以字符串和数据为输入,通过用正则表达式将占位符替换为所需数据的方式,构建出完整的 HTML 字符串。...1.1.2 html {{ }}的方式将数据处理为普通文本,如果要输出html,需要使用v-html指令 示例: 在data中定义一个html属性,其值为html data: { html:...'' } 在html中取值 v-html="html"> 1.1.3 属性 HTML属性中的值应使用v-bind...过滤器 vue允许自定义过滤器,一般用于常见的文本格式化,过滤器可用的两个地方:双花括号插值与v-bind表达式,过滤器应该被添加在js表达式的尾部,使用管道运算符"|" 2.1 局部过滤器 局部过滤器的定义...在vue中,如果使用vuex,实际上数据还是单向的,之所以说是数据双向绑定,这是用的UI控件来说,对于我们处理表单,vue的双向数据绑定用起来就特别舒服了。

    1.8K10

    Vue 2.0实用手册

    Vue简介       Vue是国内开发者尤雨溪开发的JavaScript框架,它是实现UI层的渐进式框架, Vue借鉴了Angular的指令、React中组件和props等优点进行设计,从最简单的数据处理...Vue常用的指令 1....; 6. filters 过滤属性 用于数据的处理,通过 | 管道符号,支持多重过滤,而且支持给过滤器传参,过滤器的本质就是一个函数,自从Vue2.0之后,就已经自带的过滤取消,不再支持,用户要想使用...状态管理Vuex Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式,它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化,如果需要构建是一个中大型单页应用...在页面文件中新建一个store.js文件,引入vue和vuex,并声明使明vuex; (2).

    1.7K20

    vue一些笔记20200603

    vuex action: 尤雨溪在知乎回答了,区分 actions 和 mutations 并不是为了解决竞态问题,vuex 真正限制你的只有 mutation 必须是同步的这一点,只是为了devtools...https://www.zhihu.com/question/48759748/answer/112823337 vue事件绑定: vue的事件绑定,直接绑定给当前元素,打印$event中的target...路由: router-link、router-view这两个组件其实就是用Vue.component注册的全局组件。且内部用mixin让每个子组件都获取router实例。...数组函数劫持: Vue重写了数组的七个会改变原数组的方法,用函数劫持的方法实现的,类似下面: let oldArrayMethods = Array.prototype; let arrayMethods...而服务的渲染不支持mounted方法,统一放created中。 v-html: v-html会造成XSS攻击,使用的时候必须确保内容是可信的,而且v-html会造成内部的子元素都被替换掉。

    31830

    vue课程学习笔记归纳

    列表渲染 v-for指令: 用于展示列表数据 语法:v-for=”(item, index) in xxx” :key=”yyy” 可遍历:数组、对象、字符串(用的很少)、指定次数(用的很少) 面试题:...与插值语法的区别:v-text会替换掉节点中的内容,{{xx}}则不会。 v-html指令: 作用:向指定节点中渲染包含html结构的内容。...与插值语法的区别: (1).v-html会替换掉节点中所有的内容,{{xx}}则不会。 (2).v-html可以识别html结构。 严重注意:v-html有安全性问题!!!!...//引入Vue核心库 import Vue from 'vue' //引入Vuex import Vuex from 'vuex' //引用Vuex Vue.use(Vuex) const actions...({ actions, mutations, state, }) 组件中读取vuex中的数据:$store.state.sum 组件中修改vuex中的数据:store.dispatch('action

    2.3K40

    Vue2 (一):指令与过滤器

    1、构建用户界面 用 vue 往 html 页面中填充数据,非常的方便 2、框架 框架是一套现成的解决方案,程序员若想使用只能遵守框架的规范,去编写自己的业务功能 学习 vue,就是在学习 vue 框架中规定的用法...vue 的指令、组件(是对 UI 结构的复用)、路由、Vuex、vue 组件库等都是框架的一部分 二、vue 的两个特性 1、数据驱动视图 概念 在使用了 vue 的页面中,vue 会监听数据的变化,...四、指令 1.概念 指令(Directives)是 vue 为开发者提供的模板语法,用于辅助开发者渲染页面的基本结构 2.类型 vue 中的指令按照不同的用途可以分为如下 6 大类: ① 内容渲染指令...(3)v-html 指令的作用:可以把带有标签的字符串,渲染成真正的 HTML 内容 ? 2.2 属性绑定指令 注意:插值表达式只能用在元素的内容节点中,不能用在元素的属性节点中!...4、过滤器的注意点 要定义到 filters 节点下,本质是一个函数 在过滤器函数中,一定要有 return 值 在过滤器的形参中,可以获取到“管道符”前面待处理的那个值 如果全局过滤器和私有过滤器名字一致

    1.2K51

    迷你版Vue--学习如何造一个Vue轮子

    配套插件 mini-vuex 实现一个迷你版的vue 实现的功能 全局方法 // 继承MiniVue 产生一个新的子类构造函数 MiniVue.extend // 在实例化过程完成后运行 MiniVue.nextTick...$nextTick 指令 v-text v-html v-show v-if v-else v-for v-on v-bind v-model 计算属性 计算属性用法也和Vue一样 生命周期 init...created beforeCompiled compiled destroyed 以上实现的功能用法和Vue一模一样 如何阅读源码 阅读源码要带有目的去看 不能毫无目的的去看源码 以免掉进无尽的细节陷阱中而出不来...Vue1.0模块 在Vue主线里和数据双向绑定有关的有以下几个模块 Vue构造函数 观察者observer 观察者watcher 指令系统 directive类和directives指令函数集合 DOM...还有3条指令的实现过程 其实其他的指令即使没实现 也没什么关系 主流程明白即可 MiniVue v0.1 学习Vue源码推荐看这篇文章

    56530

    前端框架VUE——数据绑定及模板语法

    vue 使用基本 html 的模板语法,允许开发者声明式地将DOM 绑定至底层 vue 实例的数据,所有 vue 模板都是合法的 html,所以能被遵循规范的浏览器和 html 解析器解析。...二、模板语法 2.1、mustache语法 mustache 翻译为中文,是胡子/胡须。由于 {{ msg }} 两边都有对称的大括号,就像人的胡须一样,所以就叫做 mustache 语法。...//使用语法 {{msg}} 特点:该指令后面不需要任何表达式,表示元素或组件只渲染一次,不会随数据的改变而改变文本。...// v-html 使用语法 v-html="url"> 给元素添加 v-html 指令后,元素就展示成一个带有超链接的百度首页文字。...注意点:新内容 标签中又新增内容时,会把原来 msg 中的内容覆盖掉。

    91520

    WEB前端零基础课-1022本周总结

    vueJs,有很多指令,比如说: v-html,输出html内容 v-bind,用于绑定一些属性之类的 v-model,双向绑定 v-if,根据true或是false,来决定是否插入到页面当中,dom节点...,不在页面中 v-show,根据true或是false,来决定是否在页面中显示,dom节点已经在页面中,只是隐藏 vue的事件 v-on:click="事件名" 可以简写成 @click="事件名" ....split(),用于把一个字符串分割成字符串数组 .reverse(),用于颠倒数组中元素的顺序 .join(),用于把数组中的所有元素放入一个字符串 v-for,循环指令,就是for循环 <li v-for...,子组件要向父组件去传值,就要用到"自定义事件" $on,监听事件 $emit,触发事件 父组件,在使用子组件的地方,直接v-on,来监听它的触发 全局自定义指令 Vue.directive 自定义指令...,就是封装好的一个函数,通过vue的语法来调用 使用方法,v-指令名 vue-cli脚手架 全局安装 npm install -g vue-cli vueJs在vue-cli里面的文件烈性是 .vue的

    1.1K10

    vue-04

    (axios): ajax请求 * vue-router: 路由 * vuex: 状态管理 * vue-lazyload: 图片懒加载 * vue-scroller: 页面滑动相关 * mint-ui...在页面模板中使用{{}}或vue指令 3....Vue对象的选项 1). el 指定dom标签容器的选择器 Vue就会管理对应的标签及其子标签 2). data 对象或函数类型 指定初始化状态属性数据的对象 vm也会自动拥有data中所有属性 页面中可以直接访问使用...数据代理: 由vm对象来代理对data中所有属性的操作(读/写) 3). methods 包含多个方法的对象 供页面中的事件指令来绑定回调 回调函数默认有event参数, 但也可以指定自己的参数 所有的方法由...vue对象来调用, 访问data中的属性直接使用this.xxx 4). computed 包含多个方法的对象 对状态属性进行计算返回一个新的数据, 供页面获取显示 一般情况下是相当于是一个只读的属性

    69320
    领券