我正在使用angular-translate。 并且似乎基于过滤器的转换不使用上面使用属性级指令定义的translate-namespace。 AFAIK是因为过滤器无法处理范围链。 有没有办法将基于过滤器的翻译连接到名称空间?
<div translate-namespace="form">
<translate>create-new</translate> <!-- this works respecting namespace -->
</div>
<div translate-namespace="list">
{{"create-new"| translate}} <!-- this doesn't use namespace at all -->
</div>
答案 0 :(得分:1)
[OLD]实际上它是关于角度基本的东西。
过滤器在范围上下文之外执行。因此,没有能力尊重通过指令声明的名称空间并保存在作用域链中。
[UPD]实际上是translate-namespace指令存储(连接 - 在命名空间嵌套的情况下)$ scope中的命名空间值。所以可以使用属性translateNamespace:
<div translate-namespace="sectionA">
....
{{translateNamespace + '.innerKey' | translate}}