W kierownicy, czy istnieje operator trójskładnikowy? Nie mam na myśli if else
; Mam na myśli a == true ? "a" : "b"
.Czy w pliku handlebars.js jest operator trójskładnikowy?
Odpowiedz
Możesz zbudować własnego pomocnika na paczkach, jeśli naprawdę chcesz. Coś jak ternary(a==true, "a", "b")
. Aby uzyskać więcej informacji na ten temat, patrz documentation. Pomysł z m90 nie jest ideą kierownicy. Chodzi o to, aby nie mieć jawnego kodu w szablonach, a jedynie wywoływać pomocników i obiekty.
jak http://stackoverflow.com/q/29441130/770127 – ryanve
Pomocnik if
może być używany jako operator trójskładnikowy, przekazując mu trzy argumenty.
W poniższym przykładzie przycisk ma domyślną wartość "Save Changes"
, ale gdy model.isSaving
ma wartość true, wartość tymczasowo zmienia się na Saving...
.
<button>{{if model.isSaving "Saving..." "Save Changes"}}</button>
... alternatywnie wykorzystane w innym pomocnika:
{{input type="submit" value=(if model.isSaving "Saving..." "Save Changes")}}
mam pomocnika dla tego (należy zwrócić uwagę, że inni pomocnicy mogą być również używane w środku) https://gist.github.com/terion-name/d87ed8907f1bb2e25f32
// app/helpers/iftrue.js
import Ember from 'ember';
export function iftrue(params) {
if (params[0]) {
return params.length === 2 ? params[0] : params[1];
}
if (params.length === 2) {
return params[1];
} else if (params.length === 3) {
return params[2];
}
return null;
}
export default Ember.Helper.helper(iftrue);
Z dwoma parametrami: jeśli pierwszy parametr zostanie zwrócony do wartości true, zostanie wydrukowany, w innym przypadku drugi
{{iftrue project.price 'N/A'}} // $9.99
{{iftrue project.priceNotAvailable 'N/A'}} // N/A
z trzech parametrów: jeżeli pierwszy parametr ma wartość prawdziwą na sekundę będą drukowanie, ponieważ trzeci
// If deadline is set formatted date will be printed, otherwise 'N/A'
{{iftrue project.deadline (moment-format project.deadline 'DD.MM.YYYY') 'N/A'}}
Podczas gdy ten link może odpowiedzieć na pytanie, lepiej umieścić w nim istotne części odpowiedzi i podać link do odsyłacza. Odpowiedzi dotyczące linków mogą stać się nieprawidłowe, jeśli strona z linkami się zmieni. - [Z recenzji] (/ recenzja/niskiej jakości-posts/10731433) –
@progressive_overload edytowane, thanx – Terion
To poniżej kod może być użyty na potrójnym lub jakiejkolwiek ekspresji eval.
Ostrzeżenie: proszę użyć tego kodu w scenariuszu, w którym można bezpiecznie używać eval.
{{#if (myfunc "(a[0] + 1) % 2 === 0" arg1)}}
{{/if}}
{{#if (myfunc "(a[0] + a[1]) % 2 === 0" arg1 arg2)}}
{{/if}}
kierownica funkcje pomocnicze
myfunc: (exp, ...a) => {
return eval(exp);
}
- 1. Czy w T-Sql jest operator trójskładnikowy?
- 2. Trójskładnikowy operator w funkcji jednej linii
- 3. X i Y lub Z - trójskładnikowy operator
- 4. Czy operator trójskładnikowy zostanie wykonany przy każdym streszczeniu?
- 5. Rodzaje null i operator trójskładnikowy: dlaczego `? 10: zabronione?
- 6. Czy istnieje implementacja pliku handlebars.js w języku Java?
- 7. limit wyników każdego w pliku handlebars.js
- 8. Czy w regexp jest operator (!)?
- 9. Co oznacza znak zapytania i dwukropek (?: Operator trójskładnikowy) w celu-c?
- 10. rekurencyjne układy z Handlebars.js
- 11. Czy "tajny operator" Kozła Perla jest wydajny?
- 12. C# "jest" operator - czy to odbicie?
- 13. Czy operator mnożenia jest udokumentowany dla zestawów?
- 14. Czy wymagany jest operator sizeof dla malloc?
- 15. Jak czytasz ten warunek trójskładnikowy w Ruby?
- 16. Handlebars.js Else If
- 17. pomocą obiektów o właściwościach numerycznych w handlebars.js
- 18. Wstępne kompilowanie szablonów Handlebars.js w systemie Windows
- 19. „jest” - operator dla typu
- 20. Przechodząc szereg obiektów częściowy - handlebars.js
- 21. Czy w VB.NET jest operator warunkowej sieci trójskładnikowej?
- 22. Kod w języku Python. Czy to jest operator przecinka?
- 23. Przecinek Przeciągnij za pomocą handlebars.js
- 24. Node.js + Express + Handlebars.js + częściowe widoki
- 25. Nokogiri xpath() czy operator?
- 26. C# Czym jest "?" Operator
- 27. Ternary operator (alternatywy)
- 28. Ternary Operator wewnątrz PHP String
- 29. Pętla przez tablicę wielowymiarową w Handlebars.js
- 30. C# Operator warunkowy Nie oświadczenie?
Kierownice tylko JavaScript, więc operator trójargumentowy będzie działać tak samo jak w JavaScript. – m90
Czy sprawdziłeś oficjalną stronę internetową: http://handlebarsjs.com/? Zawiera tutoriale ... –
Sprawdziłem oficjalną stronę internetową. Nie widziałem jednak wyjaśnień trójstronnego opreratora. – shawnXiao