ng 2

1507 ワード

  • typescript
  • アングラー
  • typescriptはjsの開拓で、本質的にブラウザで実行しますかそれともjavascriptですか?そしてコンパイルが完了した後のjsバージョンはes 5なので、互換性の問題がありません.主に追加された概念は大体インターフェース、クラス、継承(extens)、矢印関数であり、jsを他のバックエンド言語のように包装する機能があります.これらはes 6の概念に似ています.tsにはjsコードが含まれていますが、この部分のコードはコンパイルされません.tsにはタイプチェックが含まれています.つまり変数カスタムタイプです.インターフェースは、カスタマイズされたタイプ(オブジェクトに向けた実装インターフェースに相当する?)として使用することができる.
    公式サイト教程:例としてtypescript、jsの特集を使用しています.angglarはtypescriptを使って、プログラマにツールを使って開発効率を向上させます.あなたはjsを使ってanglarを書くこともできます.
    注意:vueとreactのテンプレートの一番外側の層は一つのラベルが必要です.コンポーネント全体を包むために、ng 2は必要ありません.es 6のテンプレート文字列を利用して、テンプレートの可読性を高めることができます.
    単方向結合
    単一方向データバインディングの典型的な:{}補間は、コンポーネントまたはdom要素バインディング属性またはイベントのためにも可能である.
    双方向結合
    ngにおけるデータ双方向バインディングは、ngModelコマンドによって実現され、@anglar/formsからForms Moduleモジュールを導入し、その中のngModelを使用する必要があります.
    修飾器(デコレーション)
    一般的に@で始まると、@Component()、@Injectable()、@NgModule()のように、一つのオブジェクトに入ることができる配置データがありますが、その後は一つの普通のクラスにしたがって、この種類を対応するコンポーネントに修飾し、注入、モジュールなどに依存することを意味します.
    @NgModule({
      declarations: [
        AppComponent
      ],
      imports: [
        BrowserModule
      ],
      providers: [HeroService],
      bootstrap: [AppComponent]
    })
    export class AppModule { }
    
    メタデータ(metadata)
    上記の例では、設定対象の属性はすべてメタデータとして扱うことができ、メタデータは、Anglarにどのように1つのクラスを処理するかを教えている.
    コマンド(directives)
    命令メタデータは@Directive()でクラスに結び付けられます.命令は要素属性を追加することで使用できます.Anglarがレンダリングを開始すると、命令に従ってDOMを修正します.このようなコマンドは、ドンムツリーの構造に直接影響を与えます.コンポーネントは命令の重要なサブクラスとして、本質的にはテンプレートを有する命令と見なされてもよい.