0

我想使用像 i18n 引擎这样的过滤器,这个过滤器工作正常。但是,如果我尝试在模板 HTML 中使用 i18n 过滤器(使用 $routeProvider),我将无法完成这项工作。

我的过滤器:

app.filter('i18n', function() {
    return function (input) {
        return $.i18n._(input);
    }
});

我的 HTML 模板:

<div class="fieldConfig first">
                <label id="label_topology" for="topology" class="labelMedio">{{"Topologia" | i18n}}:</label>                    
            </div>

我的控制器:

function WanCtrl($scope, $routParams, $i18n) {
    $scope.title = 'Wan';

};

我是否需要在控制器中添加更多内容才能在模板中使用过滤器?

谢谢!

4

2 回答 2

0

要在任何地方(控制器、指令、服务等)使用过滤器,而不仅仅是在模板中,您需要引用$filterservice。在您的情况下,您$i18n在控制器的参数中引用这不是正确的方法。

相反,传入$filter,并像这样使用i18n过滤器:

function WanCtrl($scope, $routeParams, $filter) {
    $scope.title = $filter('i18n')('Wan');
}

有关更多说明,请参阅有关此问题的 StackOverflow 帖子

于 2013-04-17T21:10:20.730 回答
0

像 i18n 引擎这样的过滤器?角度翻译支持这一点!:)

http://pascalprecht.github.io/angular-translate/

于 2013-07-29T10:16:06.067 回答