2015-02-24 66 views
1

我正在使用ng-repeat来显示数组并调用一个函数来显示variabled。以angularjs显示基于值的文本

在我的情况下,函数返回1,2或3。基于我需要显示数字的文本说

如果1,则显示的结果begineer, 如果2则显示结果为中度, 如果3然后显示结果为专家。

我知道ng-show,但是有一个快速的解决方案。

{{getdetails("skilllevel",course.courseID)}}` 

回答

3

有几个方法可以做到这一点angularjs 1.1.5及以上版本:

ngSwitch是另一种选择

<div ng-repeater="course in courses"> 
    <div ng-switch on = course.courseID"> 
     <p ng-switch-when = "1">beginner</p> 
     <p ng-switch-when = "2">moderate</p> 
     <p ng-switch-when = "3">expert</p> 
    </div> 
</div> 

他人使用是ng-if

<div ng-repeater="course in courses"> 
    <div ng-if = "course.courseID == 1"> 
     <p>beginner</p> 
    </div> 
    <div ng-if = "course.courseID == 2"> 
     <p>moderate</p> 
    </div> 
    <div ng-if = "course.courseID == 3"> 
     <p>expert</p> 
    </div> 
</div> 

如果你真的不想使用NG-节目,只有两个选择,如果

<div ng-repeater="course in courses"> 
    <p>{{course.courseID == 1 ? 'beginner' : 'expert'}}</p> 
</div> 
+0

谢谢,我会用三元。我用其他逻辑完成了这项工作。我将保持这个逻辑适用于其他项目。 – 2015-07-02 04:11:51