5

我有这段代码

<ng-pluralize count="comment.Comment.like_count"
    when="{'0': {{'LIKES_LIKE' | translate}},
        'one': {{'LIKES_LIKE' | translate}},
    'other': '{{'LIKES_LIKES' | translate}}}">
</ng-pluralize>

但我不知道如何格式化字符串,以便它实际上通过翻译过滤器解析喜欢的字符串,以便 ng-pluralize 指令接收解析的语言字符串。

错误消息是这样的:

错误:[$parse:lexerr] 词法分析器错误:第 107-123 列未终止的引用 [' | 翻译}}}] 在表达式 [{'0': {{'LIKES_LIKE' | 翻译}},'一个':{{'LIKES_LIKE' | 翻译}}, '其他': '{{'LIKES_LIKE' | 翻译}}}]。

我很清楚我的意思,但我不知道如何使它工作。有任何想法吗?

4

2 回答 2

21

我一直在寻找相同的答案并提出了这个解决方案:使用 " 转义翻译键的引号。

<ng-pluralize count="comment.Comment.like_count"
    when="{'0': '{{&quot;LIKES_LIKE&quot; | translate}}',
        'one': '{{&quot;LIKES_LIKE&quot; | translate}}',
        'other': '{{&quot;LIKES_LIKES&quot; | translate}}'}">
</ng-pluralize>

或使用 ng-int 值对象(您也可以在控制器上定义这些值)

<ng-pluralize count="comment.Comment.like_count"
    ng-init="likes_like='LIKES_LIKE'; likes_likes='LIKES_LIKE'"
    when="{'0': '{{likes_like | translate}}',
        'one': '{{likes_like | translate}}',
        'other': '{{likes_likes | translate}}'}">
</ng-pluralize>

对于计数值的插值,您可以使用

<ng-pluralize count="comment.Comment.like_count"
    when="{'0': '{{LIKES_LIKE | translate}}',
        'one': '{{LIKES_LIKE | translate}}',
        'other': '{{LIKES_LIKES | translate:{count : comment.Comment.like_count} }}'}">
</ng-pluralize>

其中 LIKES_LIKES = "{{count}} 个喜欢"

http://plnkr.co/edit/TdBPfhqMGuxtWDg28lAV?p=preview

于 2015-03-23T19:08:46.230 回答
2

看起来这里的第一个引用是未终止的:'{{'LIKES_LIKES'

建议去掉。

于 2015-03-01T17:36:23.950 回答