5
正确使用控制器中的角度转换
我在AngularJS应用程序中为i18n 使用angular-translate。 对于每个应用程序视图,都有一个专用的控制器。在下面的控制器中,我设置了要显示为页面标题的值。 码 的HTML <h1>{{ pageTitle }}</h1> 的JavaScript .controller('FirstPageCtrl', ['$scope', '$filter', function ($scope, $filter) { $scope.pageTitle = $filter('translate')('HELLO_WORLD'); }]) .controller('SecondPageCtrl', ['$scope', '$filter', function ($scope, $filter) { $scope.pageTitle = 'Second page title'; }]) 我正在使用angular-translate-loader-url扩展名加载翻译文件。 问题 在初始页面加载时,将显示翻译键,而不是该键的翻译。翻译是Hello, World!,但我看到了HELLO_WORLD。 第二次我进入页面时,一切都很好,并显示了翻译版本。 我认为问题与以下事实有关:在控制器将值分配给时,转换文件可能尚未加载$scope.pageTitle。 备注 使用<h1>{{ pageTitle | translate }}</h1>和时$scope.pageTitle = 'HELLO_WORLD';,翻译从第一次开始就完美。问题是我不总是要使用翻译(例如,对于第二个控制器,我只想传递原始字符串)。 题 这是已知问题/限制吗?如何解决?