AngularJS:$setPristine()不';t清除输入类型';URL';

AngularJS:$setPristine()不';t清除输入类型';URL';,angularjs,angularjs-directive,Angularjs,Angularjs Directive,我刚刚找到并开始使用$setPistine()函数来实际清除表单并清空所有字段 我一直有一些问题,它似乎与标准的工作 input type='text' 但“url”的输入类型不清楚 我这里有一个问题 http://jsfiddle.net/martinlondon/Urt5K/2/ 实际上,对于标准文本输入类型,我也遇到了类似的问题,但是附加了cusotm验证指令,这与我没有多大关系,因为我可以访问验证代码 但是输入type='url'应该可以工作 有人有什么想法吗 谢谢

我刚刚找到并开始使用$setPistine()函数来实际清除表单并清空所有字段

我一直有一些问题,它似乎与标准的工作

   input type='text'
但“url”的输入类型不清楚

我这里有一个问题

      http://jsfiddle.net/martinlondon/Urt5K/2/
实际上,对于标准文本输入类型,我也遇到了类似的问题,但是附加了cusotm验证指令,这与我没有多大关系,因为我可以访问验证代码

但是输入type='url'应该可以工作

有人有什么想法吗

谢谢

编辑

更新的fiddler显示它不正确。

setPristine()
不应清除输入,仅标记用户未更改其值(请参阅搜索“$pristine”)


例如,您加载一个表单,“价格:”字段显示“100欧元”。此时
pristine=true
。您将其更改为“200欧元”:
pristine=false
。您以某种方式重置了表单,值返回到“100€”,而
pristine
返回到
true
。如果清除此字段,则它已更改,因此
pristine=false

谢谢,是的,这是正确的,但同时清除模型??i、 e.$scope.myform={}$scope.formName.$setPristine();Nikos,我将把这个问题标记为已回答,正如你指出的,setPristine正在按预期工作。我对type='url'上的模型更新有另一个问题,我将提出另一个问题。但是,是的,为了清除表单并将其标记为原始状态,您可以按照
$scope.myform={}的思路进行操作$scope.formName.$setPristine()。实际上,如果您使用的是
$pristine
基础结构,那么每次为表单设置值时,您可能都应该
$setPristine()