重置控制器中的窗体会出错

时间:2015-03-08 17:26:28

标签: javascript angularjs

我的控制器中有一个重置按钮。我是Angular JS的新手。

 $scope.reset = function() {
     $scope.address = "";
     $scope.provisiondetails={};
     $scope.provisiondetails.LocationModel = '0';
     $scope.memberdetails.search = '0';
 }  

但是,当我尝试这个时,它实际上给出了一个错误。 在这里,我想将所有表单字段的值重置为空,除了

$scope.provisiondetails.LocationModel = '0';
$scope.memberdetails.search = '0';  

是单选按钮,但这会产生错误。我该如何解决这个问题? 修改: 我得到一个未定义的错误。由于我设置了$scope.provisiondetails={};并突然设置了默认的单选按钮值$scope.provisiondetails.LocationModel = '0';,因此我得到了未定义的错误。

2 个答案:

答案 0 :(得分:1)

拥有州的默认值:

var defaults = {
    LocationModel: '0',
    SomeOtherProp: 'fooo'
};

$scope.provisiondetails = defaults;

然后将其重置为默认值:

$scope.reset = function() {
    $scope.address = "";
    $scope.provisiondetails = defaults;
    $scope.memberdetails.search = '0';
};

否则,在尝试访问对象的现有属性时,您将收到错误。

答案 1 :(得分:0)

查看更多代码会很有帮助。但是,如果只是您所描述的错误,可以通过执行以下操作来解决:

$scope.reset = function() {
     $scope.address = "";
     $scope.provisiondetails={
         LocationModel: '0';
     };
     $scope.memberdetails.search = '0';
 }