Синтаксическая ошибка: токен mins является неожиданным токеном в столбце 3 выражения [12mins], начинающегося с [mins] - PullRequest
0 голосов
/ 31 января 2020

Я написал директиву в angular, которая принимает формат даты ISO8601 в качестве входных данных и преобразует его в объект после анализа. Затем я добавил наблюдатель для переменной, которая при изменении вызывает следующую функцию.

scope.$watch(scope.ngModel, function () {
    scope.setTimeFromIsoString(scope.ngModel);

}, true);


scope.setTimeFromIsoString = function(value) {
  if (!value) {
    return;
  }
  const match = scope.regex.exec(value);
 ..............
 //Some LOGIC & then return object
}

Теперь проблема в том, что если scope.ngModel начинается с некоторого числа, отличного от c, то функция, выполняемая ниже, выполняется, но если оно начинается с цифры c, оно выдает некоторую ошибку, для например, ngModel="12Mins", это не удается. но если ngModel="P12Y", это хорошо работает.

PS: поле ввода: цифра c (в частичной директиве)

Ошибка:

Ошибка: [$ parse: синтаксис] Синтаксическая ошибка: токен 'mins' является неожиданным токеном в столбце 3 выражения [12mins], начинающегося с [mins]. http://errors.angularjs.org/1.6.9/ $ parse / синтаксис? P0 = mins & p1 = is% 20an% 20 неожиданно% 20token & p2 = 3 & p3 = 12mins & p4 = mins

at angular.js:116
at AST.throwError (angular.js:15358)
at AST.ast (angular.js:15108)
at Parser.getAst (angular.js:16467)
at Parser.parse (angular.js:16450)
at $parse (angular.js:16608)
at Scope.$watch (angular.js:17923)
at Object.link (schemaDirective.js:29)
at angular.js:1383
at angular.js:10613 "<div class="durationpicker ng-pristine ng-untouched ng-valid ng-isolate-scope"
                     ng-model="schemaFormObj.dataModel.initialForm[ifobj.model]">"

Спасибо за ваши ответы заранее.

...