在渲染angularjs之前用new值替换旧值

时间:2016-01-07 02:26:53

标签: javascript angularjs

我有输入来自用户的输入框。现在我必须添加一些验证的东西。如果用户输入的值小于最小值,则输入的值应替换为上次输入的值。例如

最小值= 10; 如果用户输入15然后是8.那么8应该替换为15.但我想在页面上的8渲染之前替换它。

我已经编写了代码,但它没有按预期工作。当您想要将10替换为任意两位数时,它不起作用。我知道这个问题,但不知道如何解决它。

app.directive('exampleDirective1', function() {
    return {
        restrict: 'E',
        template:'<input type="text" ng-model="message.msg">',
        link: function(scope, elm, attrs) {
       var copy = angular.copy(scope.message.msg);
scope.$watch(function (){return attrs.min}, function (newValue, oldValue) {
       newValue = JSON.parse(newValue);
       oldValue = JSON.parse(oldValue);
  console.log(copy)

console.log(parseInt(newValue.msg) == copy)
           if(parseInt(newValue.msg) < parseInt(copy)){
           console.log('df')
               scope.message.msg = oldValue.msg

    }
                //console.log('oldValue=' + oldValue);
                //console.log('newValue=' + newValue);
                //do something
            });
          //  console.log(message);                       
        }
    };
});

fiddle

0 个答案:

没有答案