输入显示不同的值在ng模型

input show different value to whats in ng-model

本文关键字:ng 模型 显示 输入      更新时间:2023-09-26

是否有可能显示输入的一个值,但让ng-model具有不同的值?

Save I have

$scope.model = { 
date: '/Date(128381238)/'
};

:

<input ng-model="model.date" ng-value="pretty(model.date)">

是否有可能在相同的输入中显示格式化的日期,同时不影响模型,而不必诉诸隐藏输入

查看过滤器,这就是你需要的;它们格式化数据以供显示。

https://docs.angularjs.org/guide/filter

有像上面的货币示例这样的内置的,但你可以很容易地编写自己的,这里是我写的将毫秒转换为"1m 36s"的格式:

.filter('base60', ['$filter', function () {
  return function (msecs) {
    var numDecimalPlaces = 1;
    var formattedElapsedTime = '';
    var seconds = (msecs / 1000).toFixed(numDecimalPlaces);
    var minutes = Math.floor(seconds/60);
    if (minutes > 0) {
      seconds = (seconds % 60).toFixed(numDecimalPlaces);
      formattedElapsedTime = minutes + 'm ' + seconds + 's';     
    } else {
      formattedElapsedTime = seconds + 's';           
    }
    return formattedElapsedTime;
 };
}])

然后在页面上这样称呼它:

{{ milliseconds | base60 }}