Javascript 数组中的AngularJS显示列表
我有一个返回数组的控制器,我试图以列表的形式显示该数组的每个元素 我正在尝试做的,但不起作用:Javascript 数组中的AngularJS显示列表,javascript,arrays,angularjs,list,angularjs-ng-repeat,Javascript,Arrays,Angularjs,List,Angularjs Ng Repeat,我有一个返回数组的控制器,我试图以列表的形式显示该数组的每个元素 我正在尝试做的,但不起作用: <li ng-repeat="Name in names"> <a ng-controller="PostsCtrl" href="#">{{response.text}}</a> </li> response.text从控制器返回一个数组 <div ng-controller="PostsCtrl"> <ul&
<li ng-repeat="Name in names">
<a ng-controller="PostsCtrl" href="#">{{response.text}}</a>
</li>
response.text从控制器返回一个数组
<div ng-controller="PostsCtrl">
<ul>
<li ng-repeat="name in response.text"><a href="#">{{name}}</a></li>
</ul>
</div>
我还想知道,ng repeat属性的值应该是什么,任何唯一的字符串
谢谢大家! 使用$scope变量在控制器中定义数组:
app.controller('PostsCtrl', function($scope) {
$scope.response = { text: ['hello', 'world'] };
}
然后对变量而不是控制器使用ng repeat
<div ng-controller="PostsCtrl">
<ul>
<li ng-repeat="name in response.text"><a href="#">{{name}}</a></li>
</ul>
</div>
控制器仅用于定义您可以在该部分中使用的$scope变量,而不是用作变量本身。您的控制器可能位于错误的属性上,除非您希望为数组中的每个项都使用新的控制器 第二个问题,“
response.text
从控制器返回一个数组。”那么,这就是您要重复的数组吗
<div ng-controller="PostsCtrl">
<li ng-repeat="item in response.text">
<a href="#">{{item}}</a>
</li>
</div>
然后是第三个问题,
ng repeat
属性的值应该是什么:它应该是$scope
或viewModel
上任何有效数组的值。因此,response.text
将是放置在ng repeat
上的有效项,因为它是一个数组。正如我上面所说的,您现在为reponse.text
中的每个项目都有一个item
对象。如果这是您想要的,您可以简单地打印{{item}
——如果item
有属性,您可以做一些事情,例如,{{item.someProperty}
ngRepeat
基本上就像for
循环。没有默认值,您只需要为它提供您希望它遍历的数据。因此,当您在执行ng repeat=“name in names”
时,它类似于在普通javascript中为(var name in names){}执行类似的操作。要使其正常工作,您需要通过$scope
将此数据传递到模板,如下所示:
var myApp=angular.module('myApp',[]);
myApp.controller('PostsCtrl',['$scope',函数($scope){
//这里的数组将是您的响应。文本:
$scope.names=[“约翰”、“杰西”、“约翰娜”、“乔伊”、“玛丽”、“彼得”、“塞巴斯蒂安”、“埃里卡”、“帕特里克”、“萨曼莎”];
}]);代码>
我有{{names.length}个朋友。他们是:
-
[{{$index+1}}]{{name}。
名称和响应是什么样的?我知道你提到了一个数组,但它们都是数组吗?那{{JSON.stringify(response.text)}}呢?谢谢你的帮助!非常感谢,很抱歉我不能选择多个正确答案。谢谢,太糟糕了,我不能选择多个正确答案!