我正在观看用户可以在输入字段中编辑的范围值.
我想确保newValue始终是一个数字,如果不是,请保留oldValue,直到用户键入正确的数字值.
我想确保newValue始终是一个数字,如果不是,请保留oldValue,直到用户键入正确的数字值.
我怎样才能做到这一点?
我目前正在做的是这个(在指令的链接函数内):
scope.$watch('count',function(newValue,oldValue) { newValue=parseInt(newValue,10); if(isNaN(newValue)) { newValue=oldValue; } });
这是正确的做法,还是有更好的方法?
谢谢.
解决方法
我会写$watch像:
$scope.$watch('count',oldValue) { if(newValue !== undefined && !newValue.match(/^[\d]+$/g)){ $scope.count=oldValue; } });
演示Plunker