Angular 格式化字符串值
我在格式化输入值时遇到问题。以下是一个片段:Angular 格式化字符串值,angular,typescript,Angular,Typescript,我在格式化输入值时遇到问题。以下是一个片段: <input type="text" class="form-control" name="time" formControlName="time" (input)="convertToMinute($event.target.value)" /> 但结果是当我进入500时,轮到50:0了。我需要换成05:00。我做错了什么?我们内置了管道。请检查文件。我认为第四种选择是你正在考虑的 {{ dateObj | dat
<input
type="text"
class="form-control"
name="time"
formControlName="time"
(input)="convertToMinute($event.target.value)"
/>
但结果是当我进入500时,轮到50:0了。我需要换成05:00。我做错了什么?我们内置了管道。请检查文件。我认为第四种选择是你正在考虑的
{{ dateObj | date }} // output is 'Jun 15, 2015'
{{ dateObj | date:'medium' }} // output is 'Jun 15, 2015, 9:43:11 PM'
{{ dateObj | date:'shortTime' }} // output is '9:43 PM'
{{ dateObj | date:'mm:ss' }} // output is '43:11'
您可以使用padStart()
来完成原始值
输出
"05:00"
JS Bin here:您的输入类型是文本,因此我认为管道选项可能不起作用
convertToMinute(value: string) {
console.log(value);
let seconds = value.slice(value.length-2, value.length);
console.log(seconds);
let minute = '';
if((value.length-seconds.length)<2) {
minute = '0'+value.slice(0, 1);
} else {
minute = value.slice(0, 2);
}
let result = minute + ":" + seconds;
console.log(result);
}
convertToMinute(值:字符串){
console.log(值);
设秒=value.slice(value.length-2,value.length);
console.log(秒);
让分钟=“”;
如果((value.length.seconds.length)它应该是我直接键入500时的样子,在输入上打补丁“05:00”。这是一个非常好的模块,可用于输入屏蔽。使用$event.target.value=converted\u value设置值,并在convertToMinute($event)中传递$event
而不是$event.target.value
,并且您的原始值将是$event.target.value
。上面的插件我尝试过,但没有使用,因为小时maskNgx掩码非常简单,应该可以使用。请进行一些调试。
"05:00"
convertToMinute(value: string) {
console.log(value);
let seconds = value.slice(value.length-2, value.length);
console.log(seconds);
let minute = '';
if((value.length-seconds.length)<2) {
minute = '0'+value.slice(0, 1);
} else {
minute = value.slice(0, 2);
}
let result = minute + ":" + seconds;
console.log(result);
}