AngularJS를 사용할 때 페이지에 표시하기 위해 중괄호를 어떻게 이스케이프합니까?


97

사용자가 이중 중괄호를 보길 원하지만 Angular는 자동으로 바인딩합니다. 이것은 페이지가로드 될 때 바인딩에 사용되는 중괄호를 보지 않으려 는 이 질문 의 반대 사례입니다 .

사용자가 이것을 보길 바랍니다.

My name is {{person.name}}.

그러나 Angular는 {{person.name}}값으로 대체 됩니다. 나는 이것이 효과가 있다고 생각했지만 angular는 여전히 그것을 값으로 대체합니다.

{{person.name}}

플 런커 : http://plnkr.co/edit/XBJjr6uR1rMAg3Ng7DiJ


다른 구분 기호를 모두 사용하려는 경우 (예 [[ ]]
:)

2
감사합니다.하지만 요점은 실제로 중괄호가 작동하는 방식을 보여주는 샘플 페이지에 대한 것이며 소스를 보는 것이 이치에 맞는 경우 샘플을 보여주는 페이지의 내용과 똑같이 보이기를 원합니다.
Jason Goemaat


1
@MaximeLorant 페이지가로드 될 때 중괄호가 일시적으로 표시되는 것을 방지하는 것과 완전히 다른 문제입니다.이 질문은 페이지가로드 된 후에도 중괄호를 표시하고 각도가 바인딩되지 않도록하는 것입니다.
Jason Goemaat 2014

답변:


147
<code ng-non-bindable>{{person.name}}</code>

문서 @ ngNonBindable


6
당신은 또한 사용할 수 있습니다 <div> 또는 어떤 태그는 단지 겨 비 - 바인딩 추가
마이크 퓨

5
{{value}}입력 태그 값 안에 있는 경우 어떻게해야 합니까?
Timo Huovinen 2015 년

@TimoHuovinen, HTML 속성 에서 중괄호를 출력 하려면 내 대답을 참조하십시오 .
joeytwiddle

@TimoHuovinen ng-non-bindable컨테이너 요소에서 사용할 수 있습니다. 내 대답을 볼 수 있습니다. stackoverflow.com/a/42511222/1407491
Nabi KAZ

이것은 현재 작동하지 않습니다. Angular 8을 사용합니다. @joeytwiddle의 대답은 그러나 그렇습니다.
JE Carter II

28

편집 : 따옴표 안에 대괄호 사이에 \ 슬래시 추가

{{  "{{ person.name }\}"   }}  

이것도 .. 패스 각도 해석

{{ person.name }<!---->}

이것도 ..

{{ person.name }<x>} 

{{ person.name }<!>}

나에게 준다Lexer Error
제이슨 Goemaat

1
{{ '{{'asd '}}'}} 그의 정보
bh_earth0

4
이것은 수용된 답변이있는 질문에 대한 늦은 답변입니다. 새 답변을 제공하기로 선택한 경우 솔루션이 작동하는지 확인하기 위해 추가 예방 조치를 취해야하며이 답변이 널리 사용되는 답변보다 선호되는 이유를 제공해야합니다. 또한 이것은 어쨌든 질문에 직접 대답하지 않습니다.
Claies

이것처럼 {{...}<!---->}.
ROMANIA_engineer

11

우리의 경우 자리 표시 자에 중괄호를 표시하고 싶었 기 때문에 HTML 속성 안에 나타나야했습니다 . 우리는 이것을 사용했습니다.

 <input placeholder="{{ 'Hello {' + '{person.name}' + '}!' }}" ...>

보시다시피 중괄호를 분리하기 위해 세 개의 작은 문자열로 문자열을 구성하고 있습니다.

'Hello {' + '{person.name}' + '}!'

이렇게하면 요소의 다른 위치에서 속성을 ng-non-bindable계속 사용할 수 있도록 사용을 피할 수 있습니다 ng-.


작동합니다 (최근 각도 8).
JE Carter II

3

ng-non-bindable컨테이너에서 사용하면 여기 컨테이너 내부의 모든 요소에 효과적입니다.

<div ng-non-bindable>
  <span>{{person.name}}</span>
  <img src="#" alt="{{person.name}}">
  <input placeholder="{{person.name}}">
</div>


1

Angular 9 업데이트

ngNonBindable보간 바인딩을 이스케이프하는 데 사용 합니다.

<div ngNonBindable>
  My name is {{person.name}}
</div>

1

나는 텍스트에 단일 괄호를 원했고 위의 솔루션이 저에게 효과적이지 않았습니다. 그래서 Angular가 권장되기를 원했습니다.

각도 버전 : 5

필수 텍스트 : 내 이름은 {person.name}입니다.

<span>My name is {{'{'}}person.name{{'}'}}.</span>

누군가에게 도움이되기를 바랍니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.