Vue 将 Unicode 转换为 HTML 标签
Vue Convert Unicode to HTML tags
我正在调用一个 API,returns 一个 Unicode 字符串,如下所示。
当我在视图中输出它时,它不会自动将这些字符转换为 HTML 以进行渲染,但我认为 Vue 将其视为字符串。据我所知,Javascript 应该渲染它。
我试过使用 v-html 指令,但没有成功。
有什么方法可以告诉 Vue 不要将数据输出为字符串吗?
更新
我正在使用此函数将 Unicode 转换为文本:
unicodeToText: function(string) {
var b = "\\u"
return string.replace(new RegExp(b + "([0-9a-fA-F]{4})", "g"), function(c, d) {
return String.fromCharCode(parseInt(d, 16))
})
}
下面两个是完全相同的字符串。
this.homeText = this.unicodeToText(response.data.text);
但是,当我使用 v-html 指令时,API 字符串 returns:
硬编码字符串 returns 完全像这样:
检查响应后,我发现文本是一个 unicode 字符串。
要转换回普通文本,请通过 JSON.parse( text )
.
decodeData(data){
return JSON.parse('"' + data + '"');
}
这里正在工作JS Fiddle。
我正在调用一个 API,returns 一个 Unicode 字符串,如下所示。
当我在视图中输出它时,它不会自动将这些字符转换为 HTML 以进行渲染,但我认为 Vue 将其视为字符串。据我所知,Javascript 应该渲染它。
我试过使用 v-html 指令,但没有成功。
有什么方法可以告诉 Vue 不要将数据输出为字符串吗?
更新 我正在使用此函数将 Unicode 转换为文本:
unicodeToText: function(string) {
var b = "\\u"
return string.replace(new RegExp(b + "([0-9a-fA-F]{4})", "g"), function(c, d) {
return String.fromCharCode(parseInt(d, 16))
})
}
下面两个是完全相同的字符串。
this.homeText = this.unicodeToText(response.data.text);
但是,当我使用 v-html 指令时,API 字符串 returns:
硬编码字符串 returns 完全像这样:
检查响应后,我发现文本是一个 unicode 字符串。
要转换回普通文本,请通过 JSON.parse( text )
.
decodeData(data){
return JSON.parse('"' + data + '"');
}
这里正在工作JS Fiddle。