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 = {};
这将允许您将其作为对象进行计算。