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

我试过了:

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

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

【问题讨论】:

    标签: angularjs ternary-operator


    【解决方案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'">
    

    【讨论】:

      猜你喜欢
      • 2012-10-03
      • 1970-01-01
      • 2020-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-28
      • 2013-04-20
      • 1970-01-01
      相关资源
      最近更新 更多