Angular-Translate 在标签属性中不起作用
Posted
技术标签:
【中文标题】Angular-Translate 在标签属性中不起作用【英文标题】:Angular-Translate doesn't work in tag attribute 【发布时间】: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中使用像<p>'paging.next' | translate</p>
这样的翻译时一切正常,但是当把它放在像previous-text="'paging.pre' | translate">
这样的html标签属性中时,它就不起作用了。
【参考方案1】:
为了进一步扩展我的评论并塑造一个答案,我认为不可能在翻译过滤器中使用命名空间。 Related SO question.
另一种方法是首先使用$translate
服务在控制器中生成翻译,然后将值分配给$scope
。例如
$scope.firstText = $translate.instant('paging.first');
那么..
<uib-pagination first-text=" firstText "...
我为 demonstrate this 创建了一个粗略的 plunker。
【讨论】:
以上是关于Angular-Translate 在标签属性中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
html里的ul标签在dw里显示小图标 但在浏览器中不显示,为啥???
深究AngularJS——angular-translate详解