javascript - angular.translate 与 $scope.$emit

标签 javascript angularjs angularjs-scope

我正在使用 AngularJS,从昨天开始我尝试使用 Pascal Precht 的“angular.translate”来实现翻译。一般情况下,其工作原理如下:

app.js

angular.module('app', ['ionic', 'config', 'pascalprecht.translate'])

.config(function ($translateProvider)

{
     $translateProvider.translations("de", 
     {
         "ERROR": "Keine Wiederholung möglich!",
     });

     $translateProvider.translations("en", 
     {
         "ERROR": "No recurrence possible!",
     });
     $translateProvider.preferredLanguage("en");
})

Round.controller.js

$scope.save = function ()
{
    if ($scope.round.adjusted) 
    {
        if ($scope.round.variant.key === "HO")
        {
            $scope.$emit('toast', 'No recurrence possible!');
            return;
        }
}

我的问题是:我需要做什么才能使用变量将 $scope.$emit 后面的代码替换为“angular.translate”?

最佳答案

您需要将 $translate 注入(inject) Controller 并使用 $translate.instant 函数。

var errorText = $translate.instant('ERROR');
$scope.$emit('toast', errorText);

关于javascript - angular.translate 与 $scope.$emit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51036552/

相关文章:

javascript - 如何将变量传递到新页面并将其插入文本框?

javascript - 嵌套 Div(在 ui View 中)不会扩展到整个窗口宽度

AngularJS : directive scope inheritance

javascript - 检查 angularjs 中未保存的表单数据(使用 ui-router 的多个表单)

javascript - 使用来自 json 的 ng-flow.js 填充图像文件

javascript - 将对象传递给动态创建的指令

jquery - AngularJS - 在等待数据/数据计算时加载图标

javascript - jquery $.noConflict();问题

javascript - 如何在 CSS 中的旋转元素上使用动画

javascript - 如何在网站的移动视口(viewport)中显示可折叠菜单?