Chcę, aby użytkownik zobaczył podwójne nawiasy klamrowe, ale Angular wiąże je automatycznie. Jest to odwrotny przypadek tego pytania, w którym chcą oni nie widzieć nawiasów klamrowych używanych do łączenia podczas ładowania strony.
Chcę, aby użytkownik zobaczył to:
My name is {{person.name}}.
Ale Angular zastępuje {{person.name}}
wartość. Pomyślałem, że to może zadziałać, ale angular nadal zastępuje go wartością:
{{person.name}}
[[ ]]
): stackoverflow.com/questions/12923521/ ...Odpowiedzi:
<code ng-non-bindable>{{person.name}}</code>
Dokumentacja @ ngNonBindable
źródło
{{value}}
znajduje się wewnątrz wartości tagu wejściowego?ng-non-bindable
elementu kontenera, możesz zobaczyć moją odpowiedź: stackoverflow.com/a/42511222/1407491Edycja: dodanie \ ukośnika w nawiasach kwadratowych wewnątrz cudzysłowów działa
{{ "{{ person.name }\}" }}
to też ... omija interpretację kątową
{{ person.name }<!---->}
to też ..
źródło
Lexer Error
{{...}<!---->}
.W naszym przypadku chcieliśmy umieścić nawiasy klamrowe w symbolu zastępczym, więc musiały pojawić się wewnątrz atrybutu HTML . Użyliśmy tego:
<input placeholder="{{ 'Hello {' + '{person.name}' + '}!' }}" ...>
Jak widać, tworzymy ciąg z trzech mniejszych ciągów, aby rozdzielić nawiasy klamrowe.
'Hello {' + '{person.name}' + '}!'
Pozwala to uniknąć używania,
ng-non-bindable
więc możemy nadal używaćng-
atrybutów w innym miejscu elementu.źródło
Użyj
ng-non-bindable
w pojemniku, działa to na wszystkie elementy wewnątrz pojemnika.<div ng-non-bindable> <span>{{person.name}}</span> <img src="#" alt="{{person.name}}"> <input placeholder="{{person.name}}"> </div>
źródło
<span>{{</span>{{variable.name}}<span>}}</span>
źródło
Zaktualizowano dla Angular 9
Służy
ngNonBindable
do unikania powiązania interpolacyjnego.<div ngNonBindable> My name is {{person.name}} </div>
źródło
Chciałem używać pojedynczych nawiasów w całym tekście, a powyższe rozwiązania nie działały. Tak więc chciałem polecić Angular.
Wersja kątowa: 5
Wymagany tekst: Nazywam się {person.name}.
<span>My name is {{'{'}}person.name{{'}'}}.</span>
Mam nadzieję, że to komuś pomoże.
źródło
Z kompilatora Angular:
Unexpected character "EOF" (Do you have an unescaped "{" in your template? Use "{{ '{' }}") to escape it.)
Więc w pierwotnym pytaniu - skończyłoby się:
My name is {{ '{' }}{{ '{' }}person.name{{ '}' }}{{ '}' }}
źródło