纠正控制器不添加空值



我正在尝试使用AngularJS(项目(制作一个CRUD,我看到当我按下"Cadastrar"按钮时,即使它是空的,它也会不断推入数组。我想要的是防止这种行为发生。

      $scope.add = function(){
      $scope.listProducts.push(
  {
    codigo:$scope.codigo, nome:$scope.nome, email:$scope.email, login:$scope.login
  });
    $scope.codigo = '';
    $scope.nome = '';
    $scope.email = '';
    $scope.login = '';
    };

应该做什么好事?

简而言之,您应该在push之前测试所需的属性。

前任:

if ($scope.codigo && $scope.nome && $scope.email && $scope.login) {
  $scope.listProducts.push({
    codigo: $scope.codigo, 
    nome: $scope.nome, 
    email: $scope.email, 
    login: $scope.login
  });
}

推送到数组时未定义 $scope.codigo。如果要防止它推入数组。

你必须使用像angular.isDefined($scope.codigo(这样的条件,它的条件满足,然后只有它将数据推送到数组中。

您可以计算$scope.codigo取决于列表中存在的项目数量。

if( angular.isDefined($scope.codigo)){
$scope.listProducts.push(
  {
    codigo:$scope.codigo, nome:$scope.nome, email:$scope.email, login:$scope.login
  });
    $scope.codigo = '';
    $scope.nome = '';
    $scope.email = '';
    $scope.login = '';
    };
}

最新更新