我是$watching,一个可以由用户在输入字段中编辑的作用域值。我希望确保newValue始终是一个数字,如果不是,保持oldValue直到用户输入正确的数字值。
我怎么能这么做?
我目前所做的是(在指令的链接函数中):
scope.$watch('count',function(newValue,oldValue)
{
newValue=parseInt(newValue,10);
if(isNaN(newValue))
{
newValue=oldValue;
}
});
这是正确的做法,还是有更好的方法?
谢谢。
发布于 2014-04-13 23:07:43
@Maxim的解决方案之一是,它需要对模型进行硬编码。这是可行的,但改进后的解决方案可能如下所示:
$scope.$watch('count',function(newValue,oldValue,scope) {
if(newValue !== undefined && !newValue.match(/^[\d]+$/g)){
scope[this.exp] = oldValue;
}
});
https://stackoverflow.com/questions/20146710
复制