我是angular.js的新手,只是在函数ng-repeat上工作。在其中我使用ng-repeat="x in name"的地方,我已经在names中定义了一些值,但是我没有在完整代码中的任何地方定义x。

这是我的代码:

<div ng-app="myApp" ng-controller="namesCtrl">

<ul>
  <li ng-repeat="x in names">
    {{ x.name + ', ' + x.country }}
  </li>
</ul>

</div>

<script>
angular.module('myApp', []).controller('namesCtrl', function($scope) {
    $scope.names = [
        {name:'Jani',country:'Norway'},
        {name:'Hege',country:'Sweden'},
        {name:'Kai',country:'Denmark'}
    ];
});
</script>

一切工作正常,但我想知道x中的值是怎么来的,或者ng-repeat在这里到底在做什么,因为我只是调用x而未在x中定义任何值。

最佳答案

x由angular的ng-repeat指令定义。它遍历names中的所有值,然后依次将每个值绑定(bind)到x

请注意,您可以选择任何其他有效的变量名称来代替x
x的每个值之间没有冲突的原因是,每个迭代都有自己的$scope

另请参见ng-repeat documentation

关于javascript - X如何在angularJS中获得值(value),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37561841/

10-13 08:58