官方Angular 2 http教程中的私有变量命名约定

时间:2016-02-07 16:58:52

标签: angular

我试图了解如何在官方Angular 2 http tutorial

中命名私有变量

在上面链接的部分下面是一个名为app/toh/hero.service.ts的文件,其中(主要)是:

@Injectable()
export class HeroService {
  constructor (private http: Http) {}

  private _heroesUrl = 'app/heroes';

  getHeroes () {
    return this.http.get(this._heroesUrl)
                    .map(res => <Hero[]> res.json().data)
                    .catch(this.handleError);
  }
  private handleError (error: Response) {
    // in a real world app, we may send the server to some remote logging infrastructure
    // instead of just logging it to the console
    console.error(error);
    return Observable.throw(error.json().error || 'Server error');
  }
}

有一个私有变量_heroesUrl。好的,所以存在一个使用下划线启动私有变量和方法的约定。

但是为什么private httpprivate handleError也没有使用下划线?这只是一个“错字”还是这个原因?

1 个答案:

答案 0 :(得分:2)

这只是一个错字。对于TS,这不是强制执行,它只是一个惯例。在Angular2代码库中,一致地使用它来允许转换到Dart,其中_不仅是约定而是private关键字的替代(Dart中不存在)