角度定位是否提供了这个:
占位符值是否可以根据区域设置而变化?
我有placeholder="mm/dd/yyyy"
的输入控件。对于德语,它应该更改为placeholder="TT/MM/JJJJ"
。我们应该为此编写一个过滤器吗?或Angular语言环境提供它?
提前致谢。
答案 0 :(得分:1)
如果您只想在德国和世界其他地方之间切换,您可以在控制器中找到特定的内容:
<input placeholder="{{getLocalePlaceholder()}}">
控制器:
$scope.getLocalPlaceholder = function() {
if ($local.id === 'de-de') {
return 'TT/MM/JJJJ';
}
return 'mm/dd/yyyy';
}
如果你想更通用,我建议你写一个使用$locale的指令和all known locals的列表。
app.directive('placeholderByLocale', ['$locale', function($locale) {
return {
link: function($scope, $element, attrs) {
function getLocaleFormat() {
switch ($locale.id) {
case 'de-de':
return 'TT/MM/JJJJ';
default:
return 'mm/dd/yyyy';
}
}
attrs.$set('placeholder', getLocaleFormat());
}
}
}])
您还可以考虑将Date.toLocaleDateString与实际日期结合使用。大多数用户将从示例中快速正确地推断出日期格式。
请记住,浏览器的区域设置并不总是指示用户的位置。