angularjs 翻译仅在 html 中有效?

angularjs translate works only in html ?

我用过angular-translate,效果很好。 但现在的问题是如何在我的控制器功能中使用它?

正常我们可以在 html 模板中使用它作为 {{ 'mystring' | translate }}

但我实际上想这样做:

function bla(){
  var myvalue = 'mystring' | tranlate
 return value;
}

然后在我的 html {{ value }}

您似乎正试图在 html 上显示动态内容。要实现这一点,您应该考虑以其他方式使用 angular-translate 来实现。我猜你正在努力实现这一目标:

controller.js

$scope.mystring = 'MY_LITERAL_CODE';

inde.html

<span>{{ mystring | translate }}</span>

根据文档,在控制器内部使用过滤器如下。

$filter('filter')(array, expression, comparator)

你需要在下面写点东西

app.controller('MainCtr', ['$scope','$translate','$filter', function ($scope,$translate,$filter) {

         $translate.use($scope.language.langCode);

         $scope.data = $filter('translate')('Title');//where Title is language dependant 

   });]);

Demo to call filter inside controller