如何将变量传递给angularjs中的三元条件?

Posted

技术标签:

【中文标题】如何将变量传递给angularjs中的三元条件?【英文标题】:how to pass a variable to the ternary condition in angularjs? 【发布时间】:2016-02-14 15:13:39 【问题描述】:

我试过了:

experience.current_work?"Present":experience.date_end | date:'MMM yyyy'

但这在三元条件下是错误的。我该如何解决?

【问题讨论】:

【参考方案1】:

你已经在一个表达式中(即...)所以你不需要开始一个新的

experience.current_work ? "Present" : experience.date_end | date:'MMM yyyy'

如果您担心评估顺序,也许可以这样做

experience.current_work ? "Present" : (experience.date_end | date:'MMM yyyy')

【讨论】:

这不会尝试过滤整个而不是 date_end 只像 present 一样,如果它是当前的工作? @AnikIslamAbhi 不,至少在我刚刚做的快速测试中没有。我想您可以将 false 分支括在括号中以确保【参考方案2】:

您可以通过以下几种方式做到这一点:

当需要检查条件时调用下面的函数:

$scope.CheckCurrentWork = function() 
    if ($scope.experience.current_work) 
        //Do as you want "Present"
     else 
        //Do as you want 
        experience.date_end | date: 'MMM yyyy'
    

experience.current_work ? "Present" : experience.date_end | date:'MMM yyyy'

如果你想在任何指令中应用你的条件

<div ng-click="experience.current_work ?'Present' :  experience.date_end | date:'MMM yyyy'">

【讨论】:

以上是关于如何将变量传递给angularjs中的三元条件?的主要内容,如果未能解决你的问题,请参考以下文章

如何将局部变量传递给熊猫中的用户定义函数?

如何将AngularJs变量作为jQuery函数中的参数传递?

Python基础三元表达式列表解析生成器表达式

Angularjs + Spring Boot REST (HATEOAS) - 将角度变量传递给角度方法

如何将标头动态传递给 angularjs 的 $resource

三元运算