Mój plik HAML:
%pipes-autocomplete{:model =>"filter.value",:option => "validate_option(filter)" ? "dependant(filter)" : "filter.option"}
My Coffee Script:
$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"
W potrójnym operatorze próbuję wywołać funkcję validate_option zdefiniowaną w moim sterowniku kątowym. Ale funkcja nie jest wywoływana. Może ktoś mi pomoże z tym problemem.
Odpowiedzi:
2 dla odpowiedzi № 1Gdy umieścisz to w pytaniu, operator trójskładnikowy rozważy ciąg znaków "validate_option(filter)"
być true
(tylko dlatego, że nie jest pusty).
Zamiast tego włóż operatora trójskładnikowego do łańcucha:
"validate_option(filter) ? dependant(filter) : filter.option"
W ten sposób odkładasz wykonanie operatora trójskładnikowego na czas, gdy łańcuch jest faktycznie oceniany.