私の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"
そのようにして、文字列が実際に評価されるときに三項演算子の実行を延期します。