【问题标题】:Angular-Translate doesn't work in tag attributeAngular-Translate 在标签属性中不起作用
【发布时间】:2016-09-06 14:03:51
【问题描述】:

我在我的项目中使用 angular-translate。我定义了一些键,例如:

{
"paging":{
   "first":"First",
   "last":"Last",
    "next":"Next2",
    "pre":"Previous"
   }
}

我使用它:

<uib-pagination first-text="{{'paging.first' | translate}}" 
                last-text="{{'paging.last' | translate}}"
                next-text="{{'paging.next' | translate}}"          
                previous-text="{{'paging.pre' | translate}}">
</uib-pagination>

我也在控制器顶部使用$translatePartialLoader.addPart('module');,但是当在浏览器中运行应用程序时,显示如下:

【问题讨论】:

  • 我一直在努力让它工作,但我不确定你想要做的事情是否可行。我发现的最接近的记录在 here。我很想知道这是否可能我自己..
  • 嗨@Ankh,当我在html中使用像&lt;p&gt;{{'paging.next' | translate}}&lt;/p&gt;这样的翻译时一切正常,但是当把它放在像previous-text="{{'paging.pre' | translate}}"&gt;这样的html标签属性中时,它就不起作用了。

标签: javascript angularjs asynchronous attributes angular-translate


【解决方案1】:

为了进一步扩展我的评论并塑造一个答案,我认为不可能在翻译过滤器中使用命名空间。 Related SO question.

另一种方法是首先使用$translate 服务在控制器中生成翻译,然后将值分配给$scope。例如

$scope.firstText = $translate.instant('paging.first');

那么..

<uib-pagination first-text="{{ firstText }}"...

我为 demonstrate this 创建了一个粗略的 plunker。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-16
    • 2011-04-17
    • 2021-01-13
    相关资源
    最近更新 更多