nka*_*du1 10 javascript typescript ionic2 angular
问题:
我有来自Json文件的动态文本.我正在使用这样的translate.get()方法:
this.translate.get('keyInJson').subscribe(res => {
this.valueFromJson = res;
/*
creating an object using above text
*/
});
Run Code Online (Sandbox Code Playgroud)
因为这是异步的,所以当页面呈现时我无法获得翻译的文本.我尝试在Observables,Promises中包装上面的方法但是在页面加载期间它无法获得翻译版本的文本.在尝试不同的方法之后,我能够获得翻译后的文本,但代码变得过于复杂且不可靠.
预期/期望的行为 应加载翻译版本的文本
复制问题 动态生成文本而不是在html上对其进行硬编码,然后尝试渲染翻译版本.
环境 Angular2,打字稿,离子2
instant(key:string | Array,interpolateParams?:Object):string | Object:获取键(或键数组)的即时翻译值.此方法是同步的,默认文件加载器是异步的.您有责任了解何时加载了翻译,并且使用此方法是安全的.
const translated = this.translate.instant('keyInJson');
Run Code Online (Sandbox Code Playgroud)
@masterach TranslateHttpLoader是你正在寻找的.这是一篇可能对您有所帮助的文章.
为什么不在html中使用管道而不是在ts中进行翻译?
<div>{{ 'HELLO' | translate:param }}</div>
Run Code Online (Sandbox Code Playgroud)
或者
<div [innerHTML]="'HELLO' | translate"></div>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6182 次 |
| 最近记录: |