如何使用ng转换从控制器解析的变量
How to use ng-translate with variables resolved from controller?
我将ng-tranlate
用于i18n
。
我想将转换后的标签与从控制器绑定解析的变量组合在一起。如何实现以下目标?
<div translate="my.lang.text">some more: {{controller.attribute}}</div>
这不起作用,ng translate会忽略div之间的任何内容。为什么?
translate
指令将用您传递给它的翻译替换元素的内容。
您正在描述的用例看起来像参数化翻译。如果您想继续使用该指令,可以通过translate-values
指令传递变量:
<div translate="my.lang.text"
translate-values="{value: 'some more: ' + controller.attribute}"></div>
您必须指定您的翻译是参数化的:
JSON
"my.lang.text": "This is a parameterized string {value}"
我相信translate
指令用翻译替换了元素的所有内容。
在这种情况下,您可能需要使用translate过滤器。
<div>{{'my.lang.text' | translate}} some more: {{controller.attribute}}</div>
作为一种替代方案,您也可以通过将转换值赋予它自己的元素来避免这个问题。
<div><span translate="my.lang.text"></span> some more: {{controller.attribute}}</div>
如果翻译总是要附加一个值,那么使用参数化翻译可能是最好的解决方案(正如Michael所建议的https://stackoverflow.com/a/33419608/90305)
相关文章:
- 为什么不't我的变量在我的控制器中填充后在我的视图中呈现
- angularjs:访问angular控制器中的jquery变量
- 如何将一个变量从一个控制器传递到合金中的另一个控制器
- 将方法从控制器注入到未使用右变量调用的指令
- $Scope变量在HTML中不更新,尽管在控制器中不断更新
- 试图将一个局部变量传递给我的ngAside控制器
- 共享变量和多个控制器AngularJS
- 在控制器之间传递变量的最佳方式
- 控制器无法访问Angular Service变量
- 如何从jQuery设置控制器或全局变量的属性
- 为什么我们将控制器变量设置为等于“0”;这个“;在角度上
- 将外部控制器的范围变量设置为角度
- 将Scope变量作为指针发送,并在控制器外部对其进行更改
- AngularJS:如何与其他控制器共享作用域函数和变量
- AngularJS更新控制器变量并再次渲染视图
- 作用域变量未从状态父控制器继承到子控制器
- 具有范围变量的控制器不工作
- AngularJS:如何在控制器之间传递变量
- 我可以将变量控制器函数传递给指令中的函数链接吗?
- 如何使用函数将值更改为作用域中的全局变量?(“控制器”)