[英]Use ng-repeat with Include Template
我有一个简单的JSON数据要在ng-repeat
进行迭代,但是我遇到了问题。 当我遍历数据时,angular重复数据而没有重复div的HTML,但是我只想要内部HTML。
例如:
数据
...
$scope.tests = [{text:'text1'},{text:'text2'},{text:'text3'}];
...
的HTML
<div id="out-div" ng-repeat="test in tests">
<p>{{test.text}}</p> <b>bold text</b>
</div>
预期的响应应该是这样的:
<p>text1</p> <b>bold text</b>
<p>text2</p> <b>bold text</b>
<p>text3</p> <b>bold text</b>
我只想要内部HTML,可以吗?
您应该将ng-repeat放在<p>
而不是父<div>
如下所示:
<div id="out-div">
<p ng-repeat-start="test in tests">{{test.text}}</p>
<b ng-repeat-end>bold text</b>
</div>
这将仅重复<p>
和<b>
标记,而不重复父<div>
。
我认为您想在ng-repeat中引用可迭代测试的测试属性,而不是像这样的文本 :
<div id="out-div" ng-repeat="test in tests">
<p>{{test.test}}</p>
</div>
我认为您应该执行以下操作,如果您只想重复p标签:
<div id="out-div">
<div ng-repeat="t in tests">
<p>{{t.text}}</p>
<b>bold text</b>
</div>
</div>
Codepen: http ://codepen.io/anon/pen/obXREK
ngRepeat
重复从当前div和“ inside”到内部HTML的所有内容。 尽管可以创建自己的指令并实现所需的任何内容,但是您无法更改该行为。
知道了这一点,您可以构建模板以适当地使用适当的id
和class
标签对其进行寻址。
<div id="out-div">
<p ng-repeat="test in tests">
{{test.test}}
</p>
</div>
用这个 :
<body ng-app="app" ng-controller="testCtrl">
<div ng-repeat="test in tests">
<p>{{test.test}}</p>
</div>
</body>
你可以用跨度来达到这个目的
<span ng-repeat="test in tests">
<p >{{test.test}}</p> <b>bold text</b>
</span>
它不会影响您的造型
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.