当前位置: 首页 > 知识库问答 >
问题:

angular2 风格指南 - 带有美元符号的属性?

陈泰宁
2023-03-14

家长和孩子通过Angular.io官方指南中的服务示例进行交流。io在可观察的流名称中使用美元符号。

注意<代码> missionAnnounced $ < /代码>和<代码> mi

import { Injectable } from '@angular/core';
import { Subject } from 'rxjs';

@Injectable()
export class MissionService {

  // Observable string sources
  private missionAnnouncedSource = new Subject<string>();
  private missionConfirmedSource = new Subject<string>();

  // Observable string streams
  missionAnnounced$ = this.missionAnnouncedSource.asObservable();
  missionConfirmed$ = this.missionConfirmedSource.asObservable();

  // Service message commands
  announceMission(mission: string) {
    this.missionAnnouncedSource.next(mission);
  }

  confirmMission(astronaut: string) {
    this.missionConfirmedSource.next(astronaut);
  }
}

有人能解释一下吗:

    < li >为什么使用< code>$?这个符号背后的原因是什么?我总是需要对公共属性使用这个吗? < li >使用公共属性,但不使用方法(例如missionAnnouncements()、missionConfirmations()) -同样,这是Angular2应用程序的惯例吗?

共有3个答案

楮阳
2023-03-14

更新:https://angular.io/guide/rx-library#naming-可观测的约定

由于 Angular 应用程序主要是用 TypeScript 编写的,因此您通常会知道变量何时是可观察变量。尽管 Angular 框架不强制执行可观察量的命名约定,但您经常会看到以尾随的“$”符号命名的可观察量。

这在扫描代码和查找可观察值时非常有用。此外,如果您希望属性存储来自可观察对象的最新值,只需使用带有或不带有“$”的相同名称即可。

原件:

我看到变量以<代码> > < /代码当readi美元

<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$ 的列表,而不是 heroes。

<li *ngFor="let hero of heroes$ | async" >

$ 是一个约定,表示 heroes$ 是可观察的,而不是数组。

大多数情况下,我们不订阅组件中的那些可观察变量。我们通常使用 AsyncPipe 自动订阅可观察变量

我还没找到自Angular5.1风格指南

壤驷阳波
2023-03-14

美元的命名模式起源于安德烈·萨尔兹

getAll(): Observable<Zone[]>{
    let zone$ = this.http
      .get(`${this.baseUrl}/zones`, {headers: this.getHeaders()})
      .map(mapZone);
      return zone$;
  }

另一种方法是用一个与单词的最后一个字母匹配的unicode字符对包含观察值或流的变量名进行复数化。这解决了没有复数“s”的单词的问题。

mouse$ vs mic€

这两种命名约定都不在官方的角度样式指南中。一个或另一个(或无)的使用完全取决于个人偏好。

马阳晖
2023-03-14

$ suffix(cycle . js推广的)用来表示变量是可观测的。它也可以成为官方的风格指南,但是现在还没有

在这里阅读更多内容:后缀美元符号< code>$是什么意思?

更新:在此处阅读有关Angular网站上尾随的“$”符号的更多信息:https://angular.io/guide/rx-library#naming-conventions-for-observables

 类似资料:
  • 介绍 在参与 Vant 开发时,请遵守约定的单文件组件风格指南,指南内容节选自 Vue 官方风格指南。 组件数据 组件的 data 必须是一个函数。 // bad export default { data: { foo: 'bar', }, }; // good export default { data() { return { foo: 'bar',

  • 这是CatLib特有的代码风格指南,如果您在您的项目中使用CatLib,为了避免错误,降低沟通成本,小纠结和 反模式,阅读本指南是一份不错的选择。 我们不能保证风格指南中的所有内容,对于所有工程和团队都是理想的,所以根据项目环境,周围技术环境,风格出现偏差是可行的。 我们应该尽可能的遵守本风格指南提出的建议。 根据周围技术堆栈对于命名规范相关我们建议您阅读微软提供的:框架设计指南 优先级定义 (A

  • 本项目的风格指南主要是参照 vue 官方的风格指南。在真正开始使用该项目之前建议先阅读一遍指南,这能帮助让你写出更规范和统一的代码。当然每个团队都会有所区别。其中大部分规则也都配置在了eslint-plugin-vue之中,当没有遵循规则的时候会报错,详细内容见eslint章节。 当然也有一些特殊的规范,是不能被 eslint 校验的。需要人为的自己注意,并且来遵循。最主要的就是文件的命名规则,这

  • 注: 内容翻译来自官网资料 Style Guide. 这个文档为.proto文件提供风格指南. 通过遵循下列约定, 可以让protocol buffer消息定义和他们对应的类保持一致并容易阅读. 消息和字段名 消息名使用驼峰法 - 例如, SongServerRequest. 字段名使用下划线分隔 - 例如, song_name. message SongServerRequest { req

  • 这份指南旨在提供一系列 Ruby on Rails 4 开发的最佳实践和风格惯例。本指南与社区驱动并制定的 Ruby 编码风格指南可以互为补充。

  • 作者根据 Robert C. Martin 《代码整洁之道》总结了适用于 JavaScript 的软件工程原则《Clean Code JavaScript》。