控制器中角度平移的正确用法
我在AngularJS应用程序中对i18n使用angular-translate。
对于每个应用程序视图,都有一个专用控制器。在下面的控制器中,我将值设置为显示为页面标题。
法典
断续器
<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';
问题
这是已知问题/限制吗?如何解决这个问题?