为了账号安全,请及时绑定邮箱和手机立即绑定

angularjs自定义指令不能过滤(格式化)input框ng-model的值

angularjs自定义指令不能过滤(格式化)input框ng-model的值

海绵宝宝撒 2018-09-03 16:22:21
这里是输入框: <input class="weui_input" type="time" ng-model="callDate" date-format> 这里是指令代码: contr.directive('dateFormat', ['$filter',function($filter) {  return {    require: 'ngModel',     link: function(scope, elm, attrs, ctrl) {       ctrl.$formatters.unshift(function formatter(value) {        return $filter('date')(value, 'HH:mm');       });       ctrl.$parsers.push(function parser() {        return ctrl.$modelValue;       });     }   }; }]) 添加上指令之后还是不能达到'HH:mm'这种格式。
查看完整描述

1 回答

?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

我猜,你是想实现这个功能吧
$modelValue初始是没有值的,后面一直在这个上面叠加,导致parse后一直没有值

app.directive('dateFormat', ['$filter', function($filter) {  return {    require: 'ngModel',
    link: function(scope, elm, attrs, ctrl) {
      ctrl.$parsers.push(function parser() {        return $filter('date')(ctrl.$viewValue, 'HH:mm');
      });
    }
  };
}])


查看完整回答
反对 回复 2018-10-30
  • 1 回答
  • 0 关注
  • 918 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信