2016-02-28 25 views
0

我试图使用无序列表中的ng-repeat从数组变量中获取值。现在值很好,一切正常,但我已在每个后面放置竖条以在页面中显示子类别。以angular-js在ng-repeat中插入竖线

为了使它更加明确说我的内容是JavaScript文件如下: -

$scope.content=['about','projects','contact']; 

现在,我在我的HTML代码有如下: -

  <ul> 
       <li class="sub-categories" ng-repeat="name in content"> 
         {{name}} | 
       </li> 

      </ul> 

正如你可以看到,我需要一个名称后的酒吧,以便输出如下: -

about | projects | contact 

但是输出是这样来的

about | projects | contact | 

所以我想删除最后一个酒吧。

有什么建议吗?

+2

使用['$ last'(https://docs.angularjs.org/api/ng/directive/ngRepeat)。我会建议使用'border-right'来覆盖最后一个孩子。 – Tushar

+0

这可以使用只有CSS和':: after'选择器 – charlietfl

+0

呃? 'content = [“about”,“|”,“projects”,“|”,“contact”]' – unflores

回答

3

var app = angular.module("app",[]); 
 
app.controller("ctrl",function($scope){ 
 
    $scope.content=['about','projects','contact']; 
 
    })
li{ 
 
    display: inline; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="app" ng-controller="ctrl"> 
 
    
 
    <ul> 
 
       <li class="sub-categories" ng-repeat="name in content track by $index"> 
 
         {{name}} <span ng-show = "!$last">|</span> 
 
       </li> 
 

 
      </ul> 
 
    </div>

1

变化:{{name}} | TO:{{name}} <span ng-if="!$last">|</span>