使用angularjs基于值显示文本

时间:2015-02-24 13:52:14

标签: angularjs ng-repeat

我正在使用ng-repeat显示数组并调用一个函数来显示变量。

在我的情况下,该函数返回1,2或3.根据我需要显示文本的数字说

如果1然后显示结果作为初学者, 如果2然后显示结果为中等, if if然后将结果显示为专家。

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

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

1 个答案:

答案 0 :(得分: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-shows,只有两个选项,我会使用三元组

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