Angularjs 将HTML标记添加到ng重复块
我正在尝试向Angularjs 将HTML标记添加到ng重复块,angularjs,Angularjs,我正在尝试向ng repeat块添加一块HTML。这个想法是建立一个面包屑的踪迹,在每件物品之间有一个人字形 <div class="pull-left breadcrumbs"> <span ng-repeat="crumb in breadcrumbs"> {{crumb.display}} {{$last ? '' : '<span class=\'fa fa-chevron-right\'></span>'}}
ng repeat
块添加一块HTML。这个想法是建立一个面包屑的踪迹,在每件物品之间有一个人字形
<div class="pull-left breadcrumbs">
<span ng-repeat="crumb in breadcrumbs">
{{crumb.display}} {{$last ? '' : '<span class=\'fa fa-chevron-right\'></span>'}}
</span>
</div>
{{crumb.display}{{$last?'''':'}
但是,这不会按预期渲染
我还尝试将HTML的类=
部分中的单引号改为双引号。您可以使用指令来完成。
如果表达式的计算结果为true,则此指令隐藏元素
<div class="pull-left breadcrumbs">
<span ng-repeat="crumb in breadcrumbs">
{{crumb.display}}
<span class="fa fa-chevron-right" ng-hide="$last"></span>
</span>
</div>
一个解决方案是利用angularjs特性,track by$index
$scope.maxlength = $scope.breadcrumbs.length-1;
并利用ng show标记,仅当跨度不是中继器中的最后一项时才显示跨度
<div ng-controller="MyController">
<span ng-repeat="crumb in breadcrumbs track by $index">
{{crumb.name}} <span ng-show="$index < maxlength" class="fa fa-chevron-right">></span>
</span>
</div>
{{crumb.name}}>
只需将HTML放在那里,并使用ng if来控制渲染。是的,这确实会起作用,但$last
可以更简洁地为您完成这一切。这很有效,但需要更多的代码才能完成。在更复杂的情况下会更好。
<div ng-controller="MyController">
<span ng-repeat="crumb in breadcrumbs track by $index">
{{crumb.name}} <span ng-show="$index < maxlength" class="fa fa-chevron-right">></span>
</span>
</div>