查看angular2代码示例,我们看到一些带有$ sign的公共属性:
<....>
private missionAnnouncedSource = new Subject<string>();
private missionConfirmedSource = new Subject<string>();
// Observable string streams
missionAnnounced$ = this.missionAnnouncedSource.asObservable();
missionConfirmed$ = this.missionConfirmedSource.asObservable();
<....>
Run Code Online (Sandbox Code Playgroud)
谁能解释一下:
在官方风格指南中似乎没有任何相关内容吗?
Mon*_*red 222
$ suffix(由Cycle.js推广)用于表示变量是Observable.它也可以成为官方风格指南,但它还没有
在这里阅读更多内容:后缀美元符号$是什么意思?
更新: 在此处阅读更多关于Angular网站上尾随"$"符号的信息:https: //angular.io/guide/rx-library#naming-conventions-for-observables
Raq*_*iaz 13
$命名范例源于Andre Saltz,并建议复数包含可观察量或流的所有变量名称.
getAll(): Observable<Zone[]>{
let zone$ = this.http
.get(`${this.baseUrl}/zones`, {headers: this.getHeaders()})
.map(mapZone);
return zone$;
}
Run Code Online (Sandbox Code Playgroud)
另一种方法是复制包含observable或stream的变量名,其中unicode字符与单词的最后一个字母相匹配.这解决了使用"s"不复数的单词的问题.
mouse$ vs mic€
Run Code Online (Sandbox Code Playgroud)
这些命名约定都不在官方Angular样式指南中.使用一个或另一个(或没有)完全取决于个人偏好.
更新: https ://angular.io/guide/rx-library#naming-conventions-for-observables
由于Angular应用程序主要使用TypeScript编写,因此通常会知道变量何时是可观察的.尽管Angular框架没有强制执行可观察对象的命名约定,但您经常会看到以带有"$"符号命名的observable.
在扫描代码并查找可观察值时,这非常有用.此外,如果您希望属性存储来自observable的最新值,则可以方便地使用带有或不带"$"的相同名称.
原文:
$在阅读官方英雄教程时,我看到变量结束了:
<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>
Run Code Online (Sandbox Code Playgroud)
仔细观察,你会发现*ngFor遍历一个叫做的名单heroes$,而不是英雄.
<li *ngFor="let hero of heroes$ | async" >
Run Code Online (Sandbox Code Playgroud)
$是一个约定,表示英雄$是一个Observable,而不是一个数组.
大多数情况是我们不在组件中订阅那些Observable变量.我们通常使用AsyncPipe自动订阅Observable变量
自Angular5.1于昨天(2017年12月6日)发布以来,我还没有在Style Guide中找到它.
| 归档时间: |
|
| 查看次数: |
56813 次 |
| 最近记录: |