angular2 코드 예제를 보면 $ 부호가있는 일부 공용 속성이 표시됩니다.
<....>
private missionAnnouncedSource = new Subject<string>();
private missionConfirmedSource = new Subject<string>();
// Observable string streams
missionAnnounced$ = this.missionAnnouncedSource.asObservable();
missionConfirmed$ = this.missionConfirmedSource.asObservable();
<....>
누구나 설명 할 수 있습니까?
- 왜 $가 사용 되는가?
- 공용 속성은 사용되지만 메서드는 사용되지 않습니다 (예 : missionAnnouncements (), missionConfirmations ())-다시 말하지만 이것은 ng2 앱의 규칙입니까?
공식 스타일 가이드 에 이것 에 관한 것이없는 것 같 습니까?
답변
변수가 Observable 임을 나타 내기 위해 $ 접미사 ( Cycle.js에 의해 대중화 됨 )가 사용됩니다 . 공식 스타일 가이드로 만들 수도 있지만 아직 없습니다.
자세한 내용은 여기를 참조하십시오 : 접미사 달러 기호 $
는 무엇을 의미합니까?
업데이트 :
Angular 웹 사이트에서 “$”기호에 대한 자세한 내용은 여기 ( https://angular.io/guide/rx-library#naming-conventions-for-observables)를 참조 하십시오.
답변
$ 명명 패러다임은 Andre Saltz에서 시작되었으며 관찰 가능 항목 또는 스트림이 포함 된 모든 변수 이름을 복수화 할 것을 제안합니다.
getAll(): Observable<Zone[]>{
let zone$ = this.http
.get(`${this.baseUrl}/zones`, {headers: this.getHeaders()})
.map(mapZone);
return zone$;
}
또 다른 방법은 관측 가능 항목 또는 단어의 마지막 문자와 일치하는 유니 코드 문자를 가진 스트림을 포함하는 변수 이름을 복수화하는 것입니다. 이것은 “s”로 복수화되지 않은 단어로 문제를 해결합니다.
mouse$ vs mic€
이러한 명명 규칙 중 어느 것도 공식 Angular 스타일 가이드에 없습니다. 하나 또는 다른 것을 사용하거나 전혀 사용하지 않는 것은 전적으로 개인 취향에 달려 있습니다.
답변
업데이트 :
https://angular.io/guide/rx-library#naming-conventions-for-observables
Angular 응용 프로그램은 대부분 TypeScript로 작성되기 때문에 변수가 언제 관찰 가능한지 알 수 있습니다. Angular 프레임 워크에서는 관찰 가능 개체에 대한 명명 규칙을 적용하지 않지만 “$”기호가 붙은 관측 가능 개체가 종종 표시됩니다.
이것은 코드를 통해 스캔하고 관찰 가능한 값을 찾을 때 유용 할 수 있습니다. 또한 속성에서 관찰 가능 항목의 최신 값을 저장하려면 “$”가 있거나없는 동일한 이름을 사용하는 것이 편리 할 수 있습니다.
원본 :
$
공식 영웅 튜토리얼을 읽을 때 변수가 끝나는 것을 보았습니다 .
<div id="search-component">
<h4>Hero Search</h4>
<input #searchBox id="search-box" (keyup)="search(searchBox.value)" />
<ul class="search-result">
<li *ngFor="let hero of heroes$ | async" >
<a routerLink="/detail/{{hero.id}}">
{{hero.name}}
</a>
</li>
</ul>
</div>
자세히 보면 당신은 * ngFor라는 목록을 반복 할 것을 볼 수 있습니다 heroes$
, 영웅 없습니다 .
<li *ngFor="let hero of heroes$ | async" >
$는 heroes $가 배열이 아니라 Observable임을 나타내는 규칙입니다.
대부분의 경우 컴포넌트에서 Observable 변수를 구독하지 않는 경우가 있습니다. 우리는 보통 AsyncPipe를 사용하여 Observable 변수를 자동으로 구독합니다.
Angular5.1이 어제 릴리스 된 이후 스타일 가이드에서 찾지 못했습니다 (2017 년 12 월 6 일).
답변
나는 $
스타일 가이드에서 이것을 보지 못했지만 구독 할 수있는 관찰 가능 항목을 참조하는 공공 재산에 자주 사용되는 것을 보았습니다.