使用ng-model将数据存储在数组中

时间:2016-02-05 07:28:35

标签: html angularjs html5

我想使用ng-model将数据存储在数组中。我有一个控制器作为RegisterController,我在其中注入$scope ng-model name作为用户即$scope.user={}。这里我从表单输入元素读取数据并提交具有ng-model="user.name"的数据现在我想在该用户对象中存储该名称或多个值。

<form class="well" align="center">
  <input ng-model="user.name" name="name"  type="text"><br/>
  <input ng-model="user.name" name="mobile"  type="text"><br/>
  <input ng-model="user.name" name="mail"  type="mail"><br/>
  <input ng-model="user.name" type="password" name="otp"><br/><br/>

  <button type="button">Sign Up</button>
  <a href="#/login">Login</a><br><br>
</form>

,控制器是

app.controller("RegisterController",function($scope){

  $scope.user={};
})

现在让我知道将数据作为数组存储在用户中

4 个答案:

答案 0 :(得分:2)

我认为你做了一个小错误。而不是发送相同的ng-model =&#34; user.name&#34;发送为,

<form class="well" align="center">
<input ng-model="user.name" name="name"  type="text"><br/>
<input ng-model="user.mobile name="mobile"  type="text"><br/>
<input ng-model="user.mail" name="mail"  type="mail"><br/>
<input ng-model="user.password" type="password" name="otp"><br/><br/>

<button type="button">Sign Up</button>
<a href="#/login">Login</a><br><br>
</form>

您必须将该ng-model发送到该功能,如按钮

 <button type="button" ng-click="signup(user)">SignUp</button>

现在你可以得到你想要的东西

答案 1 :(得分:1)

伙计们这很简单,现在我明白了。在HTML中它应该是这样的,

<div ng-controller="RegisterController">
<form class="well" align="center">
<input ng-model="user.name" name="name"  type="text"><br/>
<input ng-model="user.mobile name="mobile"  type="text"><br/>
<input ng-model="user.mail" name="mail"  type="mail"><br/>
<input ng-model="user.password" type="password" name="otp"><br/><br/>
<button type="button" ng-click="signup(user)">Sign Up</button>
<a href="#/login">Login</a><br><br>
</form>
</div>

现在在Register Controller中,我只需要一个如下数组:

app.controller("RegisterController",function($scope){
$scope.regruser=[];
$scope.signup=function(user){
$scope.regruser.push(user);
}
})

现在你可以在需要的地方获得$ scope.regruser。因为它拥有所有注册用户。

答案 2 :(得分:0)

我没有看到将用户模型存储在数组中的任何好处。而是使用属性名称,mobileNumber,电子邮件,密码

扩展用户模型
<input class="form-group" name="mobile"  type="text" placeholder="Enter Mobile Number" ng-model="user.name.mobileNumber"/>

并在您的html绑定模型属性中输入相应的输入字段,如

patt=/\\/g;
str = str.replace(patt,"\\\\")

如果你仍然需要一个数组,那么解析$ scope.user模型并将值提取到角度控制器中的数组。

答案 3 :(得分:0)

HTML PART

<form class="well" align="center">
    <input class="form-group" name="name"  type="text" placeholder="Enter Name" ng-model="user.name"><br/>
    <input class="form-group" name="mobile"  type="text" placeholder="Enter Mobile Number" ng-model="user.mobile"><br/>
    <input class="form-group" name="mail"  type="mail" placeholder="Enter mail id" ng-model="user.mail"><br/>
    <input class="form.group" type="password"  name="otp" placeholder="Enter Password" ng-model="user.password"><br/><br/>
    <button type="button" class="btn btn-warning btn-sm" ng-click="signUp()">Sign Up</button>
<a href="#/login">Login</a><br><br>
</form>

控制器代码:

$scope.user = {
   name: '',
   mobile: '',
   mail: '',
   password: ''
};

这个答案也是对Andrejs Abrickis答案的修正。这是因为:

  1. 他错过了电子邮件后的逗号
  2. 他错过了分号&#34;}&#34;
  3. 在$&amp;之间添加一个额外的点范围
  4. 谢谢你...希望它能帮助你们所有人...... :)