我对变量声明有些困惑.
什么意味着英雄$
Angular 4
export class HeroSearchComponent implements OnInit {
heroes: Observable<Hero[]>;
private searchTerms = new Subject<string>();
constructor(
private heroSearchService: HeroSearchService,
private router: Router) {}
Run Code Online (Sandbox Code Playgroud)
Angular 7+
export class HeroSearchComponent implements OnInit {
heroes$: Observable<Hero[]>;
private searchTerms = new Subject<string>();
constructor(private heroService: HeroService) {}
// Push a search term into the observable stream.
search(term: string): void {
console.log(term);
this.searchTerms.next(term);
}
Run Code Online (Sandbox Code Playgroud)
我在角度7 ver中有混淆,其中英雄被赋予$ variable.
我试图从var中删除$符号然后代码不起作用.
任何建议都是最受欢迎的
这是Observables遵循的惯例.以下是Angular Docs对此的评价:
由于Angular应用程序主要使用TypeScript编写,因此通常会知道变量何时是可观察的.尽管Angular框架没有强制执行可观察对象的命名约定,但您经常会看到以带有"$"符号命名的observable.
在扫描代码并查找可观察值时,这非常有用.此外,如果您希望属性存储来自observable的最新值,则可以方便地使用带有或不带"$"的相同名称.
没有遵循它就没有害处.但由于这是一个推荐,所以最好遵循.
随着时间的推移,约定会根据开发人员的过去经验而发展.这项具体公约于2018年1月10日承诺
所以,是的,这个约定被添加到Angular 5之后的Docs中,并且你很有可能在Angular 4中工作时没有使用它.
此外,在Angular 5中升级到Rxjs 5.5之后,Rxjs的语法也发生了显着变化(不确定确切的版本).因此,您可能想要检查Rxjs的语法随时间的变化情况.有一个漂亮的工具来帮助你.查看RxJS Explorer 2.0:了解.相比.更新.
| 归档时间: |
|
| 查看次数: |
834 次 |
| 最近记录: |