Javascript JS中的角度平移同步性问题
角度平移作为视图中的过滤器非常有效。 我正在使用angular translate loader静态文件和外部文件,如Javascript JS中的角度平移同步性问题,javascript,angularjs,internationalization,angular-translate,Javascript,Angularjs,Internationalization,Angular Translate,角度平移作为视图中的过滤器非常有效。 我正在使用angular translate loader静态文件和外部文件,如locale en.json等 问题是当我尝试这样做时: var placeholder = $translate('placeholder.NAME') .then(function (translatedValue) { return translatedValue;
locale en.json
等
问题是当我尝试这样做时:
var placeholder = $translate('placeholder.NAME')
.then(function (translatedValue) {
return translatedValue;
});
<h1>{{ 'TITLE.HELLO_WORLD' | translate }}</h1>
我总是得到一个承诺,在UI中它显示为{}
,而不是英文的单词名等
在JS中使用角度平移的正确方法是什么
编辑:
尝试此操作并得到以下结果(仍未解决)
我建议让您的控制器不受转换逻辑的影响,并在视图中直接转换字符串,如下所示:
var placeholder = $translate('placeholder.NAME')
.then(function (translatedValue) {
return translatedValue;
});
<h1>{{ 'TITLE.HELLO_WORLD' | translate }}</h1>
{{'TITLE.HELLO{u WORLD}
我建议让您的控制器不受转换逻辑的影响,并在视图中直接转换字符串,如下所示:
var placeholder = $translate('placeholder.NAME')
.then(function (translatedValue) {
return translatedValue;
});
<h1>{{ 'TITLE.HELLO_WORLD' | translate }}</h1>
{{'TITLE.HELLO{u WORLD}
您可以使用函数获取值,而无需承诺:
var translation = $translate.instant('placeholder.NAME');
但是,这并不等待翻译文件加载。您应该确保在加载翻译文件后调用此函数。您可以使用函数获取值,而无需承诺:
var translation = $translate.instant('placeholder.NAME');
但是,这并不等待翻译文件加载。您应该确保在加载翻译文件后调用此功能。从网站
从网站
@itamar它取决于最终如何使用变量
占位符
。它可能应该是$scope.placeholder
。它实际上被放入一个scope数组中,所以我把它作为一个局部变量来保存。@itamar我明白了。那么你应该在回调中这样做。好吧,我尝试了你的解决方案,结果如下:【对可读性提出质疑】@itamar,这不好吗?@itamar这取决于你最终如何使用变量占位符。它可能应该是$scope.placeholder
。它实际上被放入一个scope数组中,所以我把它作为一个局部变量来保存。@itamar我明白了。那么你应该在回调中这样做。好吧,我尝试了你的解决方案,下面是我得到的:【对可读性提出质疑】@itamar,这不好吗?是的。关键是,这已经在起作用了——在显示数据之前,我需要以控制器的方式进行翻译。是的。关键是,这已经在起作用了——在显示数据之前,我需要以控制器的方式进行翻译。