2016-03-26 12 views
4

angular 2 official tutorialにある以下のスクリプトがあれば、「@」という文字はどういう意味ですか?それはecmascript 6の機能ですか?ecmascript 6の "@"文字は何を意味していますか?

誰もそれについて詳しく説明できますか?

import {Component} from 'angular2/core'; 
export class Hero { 
    id: number; 
    name: string; 
} 
@Component({ 
    selector: 'my-app', 
    template:` 
    <h1>{{title}}</h1> 
    <h2>{{hero.name}} details!</h2> 
    <div><label>id: </label>{{hero.id}}</div> 
    <div> 
     <label>name: </label> 
     <input [(ngModel)]="hero.name" placeholder="name"> 
    </div> 
    ` 
}) 
export class AppComponent { 
    public title = 'Tour of Heroes'; 
    public hero: Hero = { 
    id: 1, 
    name: 'Windstorm' 
    }; 
} 
+1

@もHTTP名前 –

+0

参照を言及するが前にデコレータと注釈を示すために使用されます.io/angular/2015/05/03/the-difference-between-annotations-and-decorators.htmlとhttp://stackoverflow.com/questions/29775830/how-to-implement-a-typescript-decorator –

答えて

1

それはちょうど活字体デコレータだ、here

Aクラスデコレーターはちょうど、クラス宣言の前に宣言され、それらをチェックしてください。 クラスデコレータは、クラスのコンストラクタに適用され、 を使用して、クラス定義を観察、変更、または置換することができます。クラス デコレータは、宣言ファイル、または他の アンビエントコンテキスト(宣言クラスなど)で使用することはできません。

クラスデコレータの式は、 実行時に関数として呼び出され、装飾クラスのコンストラクタは 引数としてのみ呼び出されます。

クラスデコレータが値を返す場合は、クラス の宣言を、指定されたコンストラクタ関数に置き換えます。

注記新しいコンストラクタ関数を返すように選択した場合は、元のプロトタイプを維持するために に注意する必要があります。実行時に デコレータを適用するロジックは、これを行いません。以下は、Greeterクラスに適用されるクラスのデコレータ(@sealed)の 例です://blog.thoughtram:

@sealed 
class Greeter { 
    greeting: string; 
    constructor(message: string) { 
     this.greeting = message; 
    } 
    greet() { 
     return "Hello, " + this.greeting; 
    } 
} 
関連する問題