angular - 如何在 HTML 代码 Angular 5 中使用 .ts 文件中的 json translate 键
问题描述
我正在处理一个项目,要求是将整个网站的英语翻译成泰语,我做了 95%,但面临如何在 .ts 文件中的 HTML 代码中使用 json 键的问题。
.ts 代码
{
element: '#step_two_element_id',
intro: `
<div class="mobile-verification-dialog">
<div class="portlet light bordered">
<div class="portlet-title">
<div class="caption font-green-sharp">
<i class="icon-users font-green-sharp"></i>
<span class="caption-subject bold uppercase">Mobile Phone Verification</span>
<span class="caption-helper hide"></span>
</div>
</div>
<div class="portlet-body">
<h5 class="pull-left">Enter your phone number to GET a free trial</h5>
<input type="text" class="form-control" placeholder="+15256458521" id="trialPhone">
<br/>
<input type="button" class="btn btn-primary pull-right" id="trialPhoneBtn" value="Send Code">
<br/><br/>
<small class="block text-right">You will receive verification code shortly.</small>
</div>
</div>
</div>`,
position: 'bottom'
},
HTML(我在 HTML 中使用了这样的翻译)
<div class="page-bar">
<ul class="page-breadcrumb">
<li>
<a routerLink="/dashboard">{{ 'HOME' | translate }}</a>
<i class="fa fa-circle"></i>
</li>
<li>
<span>{{ 'CONFIGURE_PAGES' | translate }} </span>
</li>
</ul>
</div>
解决方案
您可以使用 DOMParser 解析该字符串 HTML,然后像这样获取密钥:
var parser = new DOMParser();
var doc = parser.parseFromString(jsonData.intro, "text/html");
//declare a global variable htmlKey
this.htmlKey = doc.getElementsByClassName("caption-subject")[0].innerHTML;
然后在您的 HTML 中,您可以像这样使用管道:
{{ htmlKey | translate }}
推荐阅读
- java - 这是在单例助手中获取/设置多个 SharedPreferences 的有效方法吗?
- javascript - React Native countDown Timer 使用 Json 响应对象作为限制日期
- node.js - 在 node.js express 应用程序中,端口号由什么决定?
- c# - C# Typewriter - 如何重用模板的块
- security - 给用户一个后端看不到的秘密
- laravel - 带有哈希和 slug 参数的路由模型绑定路由
- c# - 将数据从一个列表复制到另一个列表,同时在 C# 中对其进行格式化
- node.js - 使用 Airplay 的电子镜像屏幕
- r - VBA/Excel中的自定义日期分组功能
- jmeter - JMeter - 负载测试用户场景