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);
  }