在AngularJS中发送带空输入的表单

时间:2017-01-15 00:55:05

标签: angularjs

我几天前开始和Angularjs一起学习。 看下面的代码,我有两种形式。当我用空输入发送我的第一个表单时,没关系。在我的第二种形式中,如果发送方式相同则不行, 但在我的第二个,如果我写一些干净的东西,那么它的工作。这只是在第一次点击时发生的。我的错误是:

KeyNotfoundException

我该如何解决这个问题?

TypeError: Cannot read property 'name2' of undefined     at ChildScope.$scope.enviar2 

过滤1

var app = angular.module('app',[]);
    app.controller('Controller', function($scope){

        $scope.send1 = function() {
            console.log("NAME: " + $scope.name1);
            console.log("AGE:" + $scope.age1);
        };

        $scope.send2 = function(opcao) {
            console.log("NAME: " + $scope.option.name2);
            console.log("AGE: " + $scope.option.age2);
        };
    });

过滤2

ng-model="name1"
ng-model="age1"
ng-submit="send1();

1 个答案:

答案 0 :(得分:0)

需要进行一些代码更正:

  • 作为包含send2(option)的{​​{1}}函数,我们可以使用函数内的option object运算符直接访问对象的属性,而不是使用.对象。
  • 由于选项对象不包含$scope&的任何属性。 name2但我们正在尝试访问,我们只会获得age2,因为这些属性不存在。

工作演示:



undefined

var app = angular.module('myApp',[]);

app.controller('MyCtrl', function($scope) {
    $scope.send1 = function() {
      console.log("NAME: " + $scope.name1);
      console.log("AGE:" + $scope.age1);
    };

    $scope.send2 = function(opcao) {
      console.log("NAME: " + opcao.name1);
      console.log("AGE: " + opcao.age1);
    };
});