vue-i18n使用ES6语法以及空格换行问题

摘要:
1.不正确的exportsUncaughtTypeError:Cannotassignedonlyproperty'exports'object“#”用于运行错误报告。许多在线教程都是//zh编写的。js模块。exports={part1:{name:“name”,region:“region”}part2:{gender:“gender”}//lang.jsimportVuefro

1.运行报错

报错使用了不恰当的exports

Uncaught TypeError : Cannot assign to read only property 'exports ' of object ' # < Object > '

网上很多教程是写的

//zh.js
module.exports={
    part1 : {
            name:'姓名',
            nation:'地区'
    }
     part2 : {
            gender:'性别'
    }
}
//lang.js
import Vue from 'vue';
import VueI18n from 'vue-i18n';
Vue.use(VueI18n);

const messages = {
    'zh': require('../lang/zh.js'),   // 中文语言包
    'en': require('../lang/en.js'),    // 英文语言包
}
    export default new VueI18n({
    locale: 'zh', // set locale 默认显示中文
    fallbackLocale: 'en', //如果语言包没有,则默认从英语中抽取
    messages: messages // set locale messages
});

使用了module.exports以及require,然后运行可能会报错

vue-i18n使用ES6语法以及空格换行问题第1张

点击错误

vue-i18n使用ES6语法以及空格换行问题第2张

原因是:The code above is ok. You can mix require and export. You can‘t mix import and module.exports.
在webpack打包的时候,可以在js文件中混用require和export。但是不能混用import 以及module.exports。
因为webpack 2中不允许混用import和module.exports,说是要统一使用es6语法

所以 ,解决方法:

require改成import

module.exports改成export default

具体可参照 vue-i18n安装配置运行 2,4点

nice!

2.字段的空格,换行处理

使用 v-html将js文件中的字段中包含的符号解析成html能解析的样子

v-html用于输出html,将内容当成html标签解析后展示

空格
zh.js

export default{
    part1 : {
            name:'姓&nbsp;&nbsp;&nbsp;名',
            nation:'地区'
    }
     part2 : {
            gender:'性别'
    }
}

show.vue

//wrong
<div>
  <p>$t{{part1.name}}</p> //展示为姓&nbsp;&nbsp;&nbsp;名
</div>
//right
<div>
  <p   v-html='$t(part1.name)'></p> //展示为姓    名
</div>

换行
zh.js

export default{
    part1 : {
            name:'姓<br>名',
            nation:'地区'
    }
     part2 : {
            gender:'性别'
    }
}

show.vue

//wrong
<div>
  <p>$t{{part1.name}}</p> //展示为姓<br>名
</div>
//right
<div>
  <p   v-html='$t(part1.name)'></p> 
//展示为
//                      姓    
//                      名
</div>

3.匹配多语言某一项

zh.js

export default{
    part1 : {
            app0:'你好',
            app1:'您好'
    }
}

show.vue

//item.e = 0
<div>
  <p>{{$t(`part1.app${item.e}`)}}</p> //展示为 你好
</div>

免责声明:文章转载自《vue-i18n使用ES6语法以及空格换行问题》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Java 多重catch语句的具体使用介绍APP漏洞自动化扫描专业评测报告下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

如何在Markdown文档中插入空格?

简单说  在 Markdown 文档中,可以直接采用 HTML 标记插入空格(blank space),而且无需任何其他前缀或分隔符。具体如下所示: 插入一个空格 (non-breaking space)     &nbsp;    或    &#160;     或      &#xA0; 插入两个空格 (en space)   ...

从国家统计局官网获取最新省市区三级联动数据

目前从国家统计局官网找到的最新的县及县以上行政区划代码:http://www.stats.gov.cn/tjsj/tjbz/xzqhdm/201608/t20160809_1386477.html 可以看出省市区是有明显的缩进的,所以我们提取数据的时候可以从这个缩进做文章,下面开始分析页面: 查看页面dom结构,可以发现 北京市 市辖区 东城区 ,分别...

正确显示textarea中输入的回车和空格

在textarea中输入的文本。如果含有回车或空格。在界面上显示的时候则不那么正常。回车消失了,空格变短了。 如何解决这个问题呢。有2种方法。 1、使用<pre>标签 w3c对pre元素是这样定义的:pre 元素可定义预格式化的文本。被包围在 pre 元素中的文本通常会保留空格和换行符。而文本也会呈现为等宽字体。 也就是说包含在pre标签中的回...

HTML空格占位符

&#32; == 普通的英文半角空格 &#160; == &nbsp; == &#xA0; == no-break space (普通的英文半角空格但不换行) &#12288; == 中文全角空格 (一个中文宽度) &#8194; == &ensp; == en空格 (半个中文宽度) &#819...