6

我有一块像这样的html

<bar title="'My Title'"></bar>

现在,当我想翻译它时,它看起来像这样

<bar title="'My Title'|translate"></bar>

我没有 {{ 和 }} 的原因是因为 'bar' 指令使用 '=' 将标题绑定到其范围

scope: {
    title: '=',
    ...
}

问题是任务“nggettext_extract”没有提取此文本,因为它正在寻找大括号之间的内容。我找到了解决这个问题的方法:

<bar dummy="{{My Title'|translate}}" title="'My Title'|translate"></bar>

但我希望这个问题有更好的解决方案?

更新:我现在实施的解决方法是我将指令更改如下

scope: true,
link: function(scope, element, attrs) {
    scope.title = attrs.title;
}

当然,如果有人知道更好的解决方案,请告诉我!

4

1 回答 1

0

你可以这样做:

// Inside your controller

$scope.lbl = gettextCatalog.getString('Some text');

// And inside your template you can use

<bar title={{lbl}} > </bar>
于 2015-11-05T16:06:20.600 回答