将表单字段重置为原始状态(重置脏状态)的功能在AngularJS 1.1.x的路线图中.不幸的是,目前的稳定版本缺少这样的功能.
将所有表单字段重置为AngularJS 1.0.x的初始原始状态的最佳方法是什么?
我想知道这是否可以通过指令或其他简单的解决方法来解决.我更喜欢解决方案,而无需触及原始的AngularJS源.为了澄清和证明这个问题,链接到JSFiddle.http://jsfiddle.net/juurlink/FWGxG/7/
想要的功能在路线图上 - http://blog.angularjs.org/2012/07/angularjs-10-12-roadmap.html
功能请求 - https://github.com/angular/angular.js/issues/856
建议的解决方案Pull请求 - https://github.com/angular/angular.js/pull/1127
足够好的解决方法?
我只是想通了我可以重新编译HTML部分并将其重新放入DOM中.它的工作原理很适合临时解决方案,但也可以在评论中提到@blesh:
控制器应仅用于业务逻辑,而不是DOM!
<div id="myform">
<form class="form-horizontal" name="form">
</form>
</div>
Run Code Online (Sandbox Code Playgroud)
在我的控制器上resetForm():
JavaScript:
var pristineFormTemplate = $('#myform').html();
$scope.resetForm = function () {
$('#myform').empty().append($compile(pristineFormTemplate)($scope));
}
Run Code Online (Sandbox Code Playgroud) angularjs ×1