我刚刚开始学习AngularJS,我想从表单传递信息然后传递给控制器并将信息输入到数组但收到此消息“无法读取属性'推送'未定义”。我不知道部分我做错了。我希望你们能帮我解决这个问题。提前谢谢你。
form.html
<!DOCTYPE html>
<html ng-app="formTraining">
<head>
<link rel="stylesheet" type="text/css" href="bootstrap.min.css" />
<script type="text/javascript" src="angular.min.js"></script>
<script type="text/javascript" src="formapp.js"></script>
<link rel="stylesheet" href="style.css" />
</head>
<body ng-controller="UserController as usersCtrl">
<h3>User Information</h3>
<div ng-repeat="user in usersCtrl.mUsers">
<p><ul>
<li>{{user.name}}</li>
<li>{{user.age}}</li>
<li>{{user.occupation}}</li>
</ul></p>
</div>
<div ng-controller="FormController as formCtrl">
<form name="form" ng-submit="form.$valid && formCtrl.addUser(user)">
<h5>Submit a Review</h5>
<fieldset class="form-group">
<input type="text" ng-model="UserCtrl.newUser.name" class="form-control" placeholder="write your name.." title="Name">
</fieldset>
<fieldset class="form-group">
<input type="text" ng-model="UserCtrl.newUser.age" class="form-control" placeholder="write you actual age.." title="Age">
</fieldset>
<fieldset class="form-group">
<input type="text" ng-model="UserCtrl.newUser.occupation" class="form-control" placeholder="write your job.." title="occupation">
</fieldset>
<fieldset class="form-group">
<input type="submit" class="btn btn-primary pull-right" value="submit form">
</fieldset>
</form>
</div>
</body>
</html>
formapp.js
(function(){
var app = angular.module("formTraining",[]);
app.controller('UserController',function(){
this.mUsers = users;
});
app.controller('FormController',function(){
this.newUser = {};
this.addUser = function(user){
user.push(this.newUser);
this.newUser = {};
};
});
var users = [{
name:"michael",
age:"27",
occupation:"business"
},{
name:"john",
age:"25",
occupation:"police"
}];
})();
答案 0 :(得分:1)
你不想要users
app.controller('FormController',function(){
this.newUser = {};
this.addUser = function(user){
users.push(this.newUser);
^
this.newUser = {};
};
});