管道为

时间:2016-12-23 05:54:19

标签: angular angular-directive ng2-translate angular-pipe

Ng2-translate directive给我带来了一些问题,但如果我做错了什么或者它是一个错误,我就无法得到。

在相同组件的html模板上,翻译pipe正在运作,而翻译directive则不然。

特别是:

<span translate>{{ feature.linkTxt }}</span> // works

<span [translate]="feature.linkTxt"></span> // not working

请参阅https://github.com/ocombe/ng2-translate#4-use-the-service-the-pipe-or-the-directive

我错过了什么或应该有用吗?

修改

变量feature.linkTxt指向string LEARNMORE,它对应于以下json字符串:

"LEARNMORE": "Learn more",

如果我从指令切换到管道,使用相同的变量,则会显示翻译的文本。

feature.linkTxt变量由以下*ngFor语句生成:

<li *ngFor="let feature of featureslist"> ...

2 个答案:

答案 0 :(得分:0)

根据ng2-translate example,如果您的语言文件如下:

{
  HELLO: 'hello {{value}}'
}

然后你应该像:

一样使用它
// there is single quote foe HELLO inside [translate]
<div [translate]="'HELLO'" [translateParams]="{value: 'world'}"></div>

所以我认为你的json就像:{ feature : { linkTxt : 'Your Text' } },你应该像它一样使用它:

<span [translate]="'feature.linkTxt'"></span>

答案 1 :(得分:0)

事实证明这是一个已知的开放式错误。

请参阅https://github.com/ocombe/ng2-translate/issues/355