Meine HAML-Datei:
%pipes-autocomplete{:model =>"filter.value",:option => "validate_option(filter)" ? "dependant(filter)" : "filter.option"}
Mein Kaffeeskript:
$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"
Im ternären Operator versuche ich, die in meinem Winkelcontroller definierte Funktion validate_option aufzurufen. Die Funktion wird jedoch nicht aufgerufen.
Antworten:
2 für die Antwort № 1Wenn Sie es in die Frage stellen, wird der ternäre Operator den String berücksichtigen "validate_option(filter)"
sein true
(nur weil es nicht leer ist).
Fügen Sie stattdessen den ternären Operator in den String ein:
"validate_option(filter) ? dependant(filter) : filter.option"
Auf diese Weise verschieben Sie die Ausführung des ternären Operators auf den Zeitpunkt, zu dem der String tatsächlich ausgewertet wird.