AngularJS: 三元运算符条件检查中的函数调用

AngularJS: Function call in ternary operator conditional check

我的 HAML 文件:

%pipes-autocomplete{:model =>"filter.value",:option => "validate_option(filter)" ? "dependant(filter)" : "filter.option"}

我的咖啡脚本:

  $scope.validate_option =(filter)->
     console.log "called validate_option"
     if filter.hasOwnProperty('option') && filter.option.indexOf('dependant') > -1
       return true
     else
      return false
  $scope.dependant =(cal)->
    return "choosed"

在三元运算符中,我试图调用 angular controller.But 中定义的 validate_option 函数,该函数没有得到 called.Can 有人帮我解决这个问题问题。

正如您在问题中所说,三元运算符会将字符串 "validate_option(filter)" 视为 true (只是因为它不是空字符串)。

而是将三元运算符放在字符串中:

"validate_option(filter) ? dependant(filter) : filter.option"

这样您就可以将三元运算符的执行推迟到实际评估字符串时。