Угловой фильтр JS Json Datetime с ввода - PullRequest
0 голосов
/ 26 апреля 2018

это моя функция фильтра (из json datevert):

app.filter("mydate", function () {
var re = /\/Date\(([0-9]*)\)\//;
return function (x) {
    var m = x.match(re);
    if (m) return new Date(parseInt(m[1]));
    else return null;
};

});

нет проблем, если я использую это здесь:

{{k.StartDate | mydate | date: 'yyyy-MM-dd HH:mm'}}

Я хочу использовать этот фильтр во входных данных, но я получаю эту ошибку:

ошибка

Я использую фильтр вот так

<input class="w-100" datetime="yyyy-MM-dd" ng-model="ApplyToProgress.CurrentWork.StartDate | mydate | date: 'yyyy-MM-dd HH:mm'" type="text">

1 Ответ

0 голосов
/ 26 апреля 2018

Вы не можете использовать фильтр на модели ng. Я предлагаю вам посмотреть изменения с помощью ng-change и применить фильтр к контроллеру, например:

<input class="w-100" datetime="yyyy-MM-dd" ng-model="ApplyToProgress.CurrentWork.StartDate" ng-change="applyFilter()" type="text">

А в контроллере:

$scope.applyFilter = function(){
    $scope.ApplyToProgress.CurrentWork.StartDate = $filter('mydate')($scope.ApplyToProgress.CurrentWork.StartDate);
    $scope.ApplyToProgress.CurrentWork.StartDate = $filter('date')($scope.ApplyToProgress.CurrentWork.StartDate, 'yyyy-MM-dd HH:mm');
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...