AngularJS中的语言环境过滤器-如何补偿渲染延迟?

问题描述 投票:3回答:2

我使用过滤器编写了一个简单的i18n本地化函数,但是应用过滤器时会有延迟。在应用过滤器和交换文本之前,用户将很快看到“ {{'formTitle'| i18n}}”。有什么办法解决吗?

这是代码示例,非常简单且相当普遍:

<label for="person_title">{{'formTitle' | i18n}}</label>
angular.module('localization')
.value('localizedTexts', {
    'formTitle': 'Titre '
});

angular.module('localization', [])
.filter('i18n', ['localizedTexts', function (localizedTexts) {
return function (text) {
    if (localizedTexts.hasOwnProperty(text)) {
        return localizedTexts[text];
    }
    return text;
};
javascript html css angularjs angularjs-filter
2个回答
4
投票

考虑使用ng-cloak。引用自the AngularJS doc

[当浏览器加载此CSS规则时,所有html元素(包括他们的孩子)被ng-cloak指令标记的隐藏。当Angular在模板的编译会删除ngCloak元素属性,使已编译的元素可见。


0
投票

您也可能对angular-translate-http://pascalprecht.github.io/angular-translate/]感兴趣>

© www.soinside.com 2019 - 2024. All rights reserved.