HTML格式:

<form ng-submit="mylogin()">
      <div class="list">
        <label class="item item-input">
          <span class="input-label">Username</span>
          <input type="text" ng-model="inputcode.username">
        </label>
        <label class="item item-input">
          <span class="input-label">Password</span>
          <input type="password" ng-model="inputcode.password">
        </label>
        <label class="item">
          <button class="button button-block" type="submit">Log in</button>
        </label>
      </div>
    </form>
<br>
{{inputcode.password}}<---testing for correct syntax and it works fine here

控制器:
$scope.inputcode;
$scope.discountcodes=['phillyd','kevin','john'];

$scope.mylogin = function() {

    for (var i=0; i<$scope.discountcodes.length; i++) {
      if($scope.inputcode.password==$scope.discountcodes[i]){
        console.log($scope.discountcodes[i]);
      }
      else{
        console.log("You failed to crack the code young jedi");
      }
    }
  }

这就是我不断得到的错误:
错误:未定义不是对象(正在计算'$scope.inputcode.password')
我已经用{{inputcode.password}在html页面上显示信息,测试了$scope.inputcode.password是否有效并保存信息。
我不明白到底是什么错误?
提前谢谢:)

最佳答案

你已经声明了$scope.inputcode但不是一个对象——正如它目前存在的那样,它只是undefined。您需要将其初始化为对象,如下所示:

$scope.inputcode = {};

这将允许您将其作为对象进行计算。

09-28 00:26