angularjs – 如何防止$watch内部的价值变化

我正在观看用户可以在输入字段中编辑的范围值.
我想确保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

相关文章

ANGULAR.JS:NG-SELECTANDNG-OPTIONSPS:其实看英文文档比看中...
AngularJS中使用Chart.js制折线图与饼图实例  Chart.js 是...
IE浏览器兼容性后续前言 继续尝试解决IE浏览器兼容性问题,...
Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:h...
在AngularJS应用中集成科大讯飞语音输入功能前言 根据项目...
Angular数据更新不及时问题探讨前言 在修复控制角标正确变...