在ng-model

时间:2015-07-13 06:48:00

标签: javascript angularjs

  <div class="form-group" data-ng-repeat="choice in choices">
    <input type="text" ng-model="user.subjectname[$index]" 
   name="subject" ng-required="true" placeholder="Enter a subject name">
   </div> 

当我使用ng-repeat动态创建此输入字段时,如果我使用ng-model=user.subjectname,输入文本由于某种原因在所有字段中都相同,我通过互联网搜索并找到ng-model="user.subjectname[$index]"正在使用并且有效。

然而,我无法理解

  1. 它究竟意味着什么。 ?
  2. 2.如果是阵列或物体。 ?

    1. 它在控制台中显示为对象。

    2. 如果是对象,为什么会有索引?

    3. 此外,我们可以使用以下格式迭代对象:

      ng-repeat="(key,val) in user.subjectname"{{val}}
      

      为什么不起作用?

      neither did ng-repeat="subject in user.subjectname"{{subject}}
      

      我可以取得指示,因为我现在对此非常困惑。

2 个答案:

答案 0 :(得分:1)

这是一个数组。当你这样做时:

var test = []; console.info(typeof test);// You would get object as arraysa re also object in Javascript.

在这里,您将选择中的$ index选择传递给subjectname数组。哪个好。在使用某些数据填充主题名称后,您可以使用ng-repeat,如

ng-repeat = "subject in user.subjectname"

同时初始化user.subjectname = [];在控制器

答案 1 :(得分:0)

<form class="idea item">
<div ng-repeat="(key, value) in items[0]" >
    <label>{{key}}</label>
    <input type="range" ng-model="items[0][key]" min="0" max="15"/>
</div>
<input type="submit" ng-click="save()" />
<pre>{{items | json}}</pre>

var app = angular.module('my-app',[],function(){ })

app.controller('AppController', function ($scope) {
    $scope.items = [{"red": 14, "green": 12, "orange": 1, "yellow": 11, "blue": 9}];
})