我不知道发生了什么,出于某种原因AngularJS表现得很好:
<p ng-repeat="item in supplierTeamObjects">
<a href="#" ng-click="selectSupplierTeam(item.id)">[[item.name]]</a>
</p>
^--NG-REPEATS PERFECTLY
<br>
<div ng-init="materialDataStructure = [{'name':'Thorium','company':'Company Name not here','description':'No description','image':'materials/image_4.jpg','product_id':'1922004'}]">
<p ng-repeat="item in materialDataStructure">
<p>[[item.name]]</p>
</p>
</div> ^--NOT WORKING
所以我的实际应用已通过AJAX返回materialDataStructure
。但是经过近一个小时的磨头,我逐字复制并粘贴了最小的AJAX响应,并将其硬编码到ng-init
中以找到为什么这个东西根本没有循环... < / p>
最后一个div标签不会像p标签中的第一个ng-repeat那样成功进行ng-repeat。发生了什么??起初我以为我的AJAX响应没有回复,但即使将其硬编码为ng-repeat,它仍然不会循环但是第一次ng-repeat通过AJAX工作得很好......
我在这里做错了什么?
答案 0 :(得分:2)
那是因为P
中的P标签删除它,它会正常工作
<div ng-init="materialDataStructure = [{'name':'Thorium','company':'Company Name not here','description':'No description','image':'materials/image_4.jpg','product_id':'1922004'}]">
<p ng-repeat="item in materialDataStructure">
[[item.name]]
</p>
</div>
我假设可能已在应用配置
中将{{
替换为[[
以下是plunkr示例:http://plnkr.co/edit/sig1bXbwnQ5gPtEwL2u3?p=preview
答案 1 :(得分:2)
Vamsi V答案是正确的,以下解释为什么p标签不起作用
来自HTML5 doc http://www.w3.org/TR/html5/grouping-content.html#the-p-element
如果p元素紧跟地址,文章,旁边,blockquote,div,dl,fieldset,footer,form,h1,h2,h3,则可省略p元素的结束标记,h4,h5,h6,header,hgroup,hr,main,nav,ol,p,pre,section,table或ul,element,或者如果父元素中没有更多内容且父元素不是一个元素。
答案 2 :(得分:1)
删除ng-repeat
中的<p>[[item.name]]</p>