Как создать атрибутивную директиву форматирования ввода в angularjs? - PullRequest
0 голосов
/ 15 ноября 2018

Я новичок в angularjs.Я хочу создать пользовательскую директиву, которая удаляет нули в.Например, если я введу 00014, у меня будет 14 в поле ввода.У меня уже есть код, но я не уверен, что он правильный:

(function () {
angular.module('issuetrackerApp')
    .directive('validateTime', validateTime);
function validateTime() {
    return {
        restrict: 'A',
        scope: {
            validateTime: '='
        },
        templateUrl: '...'
    };
  }
});

HTML

 <input type=number>

1 Ответ

0 голосов
/ 15 ноября 2018

Вы можете использовать обработчик события onchange для усечения ведущих нулей

 scope.value.replace(/^0+/, '');

Вот пример этого.

console.clear();

var app = angular.module('test', []);

app.controller('MainCtrl', function($scope) {
  $scope.name = 'World';
});


app.directive("textbox", function(){
  return {
    require: "?ngModel",
    template: "<input ng-model='value' ng-change='onChange()'>",
    link: function(scope, element, attrs, ngModel){
      if (!ngModel) return;
      
      scope.onChange = function(){
      
        scope.value = scope.value.replace(/^0+/, '');
       
      };
      
      ngModel.$render = function(){
        scope.value = ngModel.$modelValue;
      };
    }
  };
});




    
    
{{value}}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...