/ / AngularJS:3項演算子の条件付きチェックでの関数呼び出し - javascript、angularjs、3元演算子

AngularJS:三項演算子の条件付きチェックでの関数呼び出し - javascript、angularjs、三項演算子

私の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で定義されているvalidate_option関数を呼び出そうとしています。しかし、関数が呼び出されていません。

回答:

回答№1は2

問題にしているように、三項演算子は文字列を考慮します。 "validate_option(filter)" することが true (それが空のものではないという理由だけで)。

代わりに、文字列の中に三項演算子を置きます。

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

そのようにして、文字列が実際に評価されるときに三項演算子の実行を延期します。