我想使用像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';
};
我是否需要在控制器中添加更多内容才能在模板中使用我的过滤器?
谢谢!
答案 0 :(得分:0)
要在任何地方使用过滤器(控制器,指令,服务等)而不仅仅是模板,您需要引用$filter
service。在您的情况下,您在控制器的参数中引用了$i18n
,这不是正确的方法。
相反,传入$filter
,并使用i18n
过滤器,如下所示:
function WanCtrl($scope, $routeParams, $filter) {
$scope.title = $filter('i18n')('Wan');
}
有关详细说明,请参阅this StackOverflow post有关此事。
答案 1 :(得分:0)
像i18n引擎一样的过滤器?这在角度翻译中得到支持! :)