angular-翻译:过滤器忽略命名空间
angular-translate: filter ignores namespace
我正在使用 angular-translate。
而且似乎基于过滤器的翻译不使用上面使用属性级指令定义的翻译命名空间。 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>
[OLD] 实际上它是关于 angular 基本的东西。
过滤器在范围上下文之外执行。因此,无法尊重通过指令声明并保存在作用域链中的名称空间。
[UPD] 实际上 translate-namespace 指令存储(连接 - 在命名空间嵌套的情况下)$scope 中的命名空间值。所以可以使用 属性 translateNamespace:
<div translate-namespace="sectionA">
....
{{translateNamespace + '.innerKey' | translate}}
我正在使用 angular-translate。 而且似乎基于过滤器的翻译不使用上面使用属性级指令定义的翻译命名空间。 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>
[OLD] 实际上它是关于 angular 基本的东西。
过滤器在范围上下文之外执行。因此,无法尊重通过指令声明并保存在作用域链中的名称空间。
[UPD] 实际上 translate-namespace 指令存储(连接 - 在命名空间嵌套的情况下)$scope 中的命名空间值。所以可以使用 属性 translateNamespace:
<div translate-namespace="sectionA">
....
{{translateNamespace + '.innerKey' | translate}}