/ / AngularJS: Funktionsaufruf in der bedingten Überprüfung des ternären Operators - Javascript, Anglejs, Ternary-Operator

AngularJS: Funktionsaufruf im ternären Operator bedingte Prüfung - javascript, angularjs, ternary-operator

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 № 1

Wenn 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.