Angular翻译服务内部

时间:2015-03-21 21:05:23

标签: angularjs angularjs-scope ionic-framework ionic angular-translate

我正在为我的离子应用程序的角度翻译而苦苦挣扎。问题是我有一个服务,数据可以在视图之间共享,但我需要翻译这些数据。不幸的是我只是看到空白屏幕没有任何错误的控制台。

如果有人可以提供帮助,如果该代码有问题(我使用useStaticFilesLoader),我将不胜感激:

app.service('customService', function($q, $rootScope, $filter, $translate) {

    $rootScope.$on('$translateChangeSuccess', function () {     
        var $translate = $filter('translate');                      

    return {
    items: [
      {
        id: '1',        
        title:$translate('TITLE');
      }
    ]
],
    getItems: function() {
      return this.items;
    },
    getItem: function(itemId) {
      var dfd = $q.defer();
      this.items.forEach(function(item) {
        if (item.id === itemId) dfd.resolve(item);
      });

      return dfd.promise;
    }

 };
});
});

1 个答案:

答案 0 :(得分:1)

尝试这样的事情:

app.factory('customService', function($rootScope, $translate) {
    var items = [],
        updateItems = function() {
            items.length = 0;
            $translate('TITLE').then(function(title) {
                items.push({
                    id: '1',
                    title: title;
                });
            });
        };
    updateItems();
    $rootScope.$on('$translateChangeSuccess', updateItems);
    return {
        items: items,
        getItem: function(itemId) {
            var result;
            items.forEach(function(item) {
                if (item.id === itemId) {
                    result = item;
                }
            });
            return result;
        }
    }
});