在我的代码中,我创建了一个重置按钮来擦除表单。使用重置我还想要一个依赖于该输入的值也清除。在reset()函数中,$ scope.funding.startingEstimate被正确设置为零,但$ scope.funding.needed不是。此外,$ watch范围功能不应该已经处理好了吗?无论何时更改funding.startEstimate(因为它在$ scope.reset函数中成功,因此$ watch函数不应该返回零,因为$ watch函数调用computeNeeded,它将funds.startingEstimate乘以10(0 * 10等于0)。
请帮忙。
以下是我的代码:
app.js
app.controller('StartUpController',["$scope", function($scope){
$scope.funding = {startingEstimate:0};
$scope.computeNeeded=function(){
console.log("test2")
$scope.funding.needed = $scope.funding.startingEstimate * 10;
};
$scope.$watch('funding.startingEstimate', $scope.computeNeeded);
$scope.requestFunding=function(){
window.alert("Sorry, please get more customers first");
};
$scope.reset=function(){
console.log("test")
$scope.funding.startingEstimate = 0;
$scope.funding.needed = 0;
};
}]);
<form ng-controller="StartUpController" ng-submit="requestFunding()" ng-reset="reset()">
Starting: <input ng-model="funding.startingEstimate" >
Recommendation:{{funding.needed}}
<button type="submit" class="btn btn-primary">Request Funding </button>
<button type="reset" class="btn btn-danger" >Reset</button>
</form>
答案 0 :(得分:2)
当我告诉你忽略了在Angular中调用reset()
方法时,你会踢自己 - 而是将按钮type
定义为reset
所以你获得了重置表单的基本HTML功能。
我已为您添加ng-click
:http://jsfiddle.net/z8edmpp2/