AngularJS:reset函数重置表但不清除输入字段并选择?

时间:2014-09-26 08:49:33

标签: javascript html angularjs select input

<form novalidate class="simple-form">
    <label ng-hide="tab==1">Reviews Min: <input type="number" ng-init="revNum=30" class="form-control review-input" min="0" step="10" ng-model="revNum" /></label>
    <label>Min Price &#163;: <input type="number" ng-init="minNum=0" class="form-control price-input" min="0" step="1000" ng-model="minNum" /></label>
    <label>Max Price &#163;: <input type="number" ng-init="maxNum=0" class="form-control price-input" min="0" step="1000" ng-model="maxNum" /></label>
    <label><select ng-model="currentCarType"  style="display:block;" ng-options="key for key in carTypeObj">
        <option value="">Select Type</option>
    </select></label>
    <label><button class="btn btn-primary " style="display:block;" ng-click="updateNumArray(revNum, minNum, maxNum); updateType(currentCarType)">Filter</button></label>
    <label><button class="btn btn-primary " style="display:block;" ng-click="resetNumArray(); resetType()">reset</button></label>
</form>

这是我的控制器:

carApp.controller("TableBodyCtrl", function($scope, $http){
    $scope.revNum = 30;
    $scope.minNum = 0;
    $scope.maxNum = 0;
    $scope.currentCarType = null;

    $scope.resetType = function(){
        $scope.currentCarType = null;
    }

    $scope.resetNumArray = function(){
        $scope.revNum = 30;
        $scope.minNum = 0;
        $scope.maxNum = 0;
    }

当我点击reset按钮时,我的表格更新,因此currentCarTypenullrevNum30minNum为{{1} }和0maxNum。但我的0字段以及我的input都没有更新。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

我猜你可能会因为这里讨论的问题而陷入困境: Why don't the AngularJS docs use a dot in the model directive?

输入的模型在父作用域上初始化,但只要在那里编辑,值就会存储在子作用域中,随后也会从那里读取。