angular2.0學習日記1


使用NG2之前需要安裝node以及Npm環境,並到node下下載ng2所需要得文件,具體配置請到https://angular.cn/docs/ts/latest/quickstart.html按照提示操作,安裝完畢並創建后各種目錄后,正式開始編寫第一個HelloWordl;

ng2是基於typescript,文件以ts結尾代表typesript文件,啟動Npm start后,node會監視目錄下的文件變得將ts編譯為js文件

首先創建根模塊文件app/app.module.ts, 每個Angular2的應用都至少有一個模塊即跟模塊。 

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';

@NgModule({
imports: [ BrowserModule ]
})
export class AppModule { }

 

//import2行表示從目錄中引入我們所需得文件,import是ES6關鍵字,經過編譯后會被轉化為ES5的require,形式如下:

//var core = require('@angular/core');

//var bsmodule = require('@angular/platform-browser');

 

//@NgModule:意思為告訴Angular如何去編譯和運行代碼。模塊內部可以包含組件、指令、管道,並且可以將它們的訪問權限聲明為公有,以使外部模塊的組件可以訪問和使用到它們;

NgModule的主要屬性如下:北京聯盟 http://www.010lm.com/

  • declarations:模塊內部Components/Directives/Pipes的列表,聲明一下這個模塊內部成員
  • providers:指定應用程序的根級別需要使用的service。(Angular2中沒有模塊級別的service,所有在NgModule中聲明的Provider都是注冊在根級別的Dependency Injector中)
  • imports:導入其他module,其它module暴露的出的Components、Directives、Pipes等可以在本module的組件中被使用。比如導入CommonModule后就可以使用NgIf、NgFor等指令。
  • exports:用來控制將哪些內部成員暴露給外部使用。導入一個module並不意味着會自動導入這個module內部導入的module所暴露出的公共成員。除非導入的這個module把它內部導入的module寫到exports中。
  • bootstrap:通常是app啟動的根組件,一般只有一個component。bootstrap中的組件會自動被放入到entryComponents中。
  • entryCompoenents: 不會再模板中被引用到的組件。這個屬性一般情況下只有ng自己使用,一般是bootstrap組件或者路由組件,ng會自動把bootstrap、路由組件放入其中。 除非不通過路由動態將component加入到dom中,否則不會用到這個屬性

項目是運行在瀏覽器中的 Web 應用,所以根模塊需要從 @angular/platform-browser 中導入 BrowserModule 並添加到 imports 數組中;

//export 也是es6的關鍵字,表示導出,以使得其他組件或者模塊可以導入(import);

接着創建根組件app/app.component.ts

import { Component } from '@angular/core';


@Component({
selector: 'my-app',
template: '<h1>hello wordl</h1>'
})

export class AppComponent { }

//@Component表示將一份數據關聯到導出的AppComponent,雖然此處AppComponent導出內容為空,但實際上@Component中的內容由於與之關聯,因此里面的selector: 'my-app',
template: '<h1>My First Angular 2 App</h1>'實際上也一起導出,可供外部使用了;

//selector: 'my-app'  指my-app標簽,即<my-app></my-app>;

select還可以使用屬性以及類,如selector:".example"或者selector:"[ example ]",代表類名為或者屬性為example的標簽;

//template:要渲染的模板,如<h1>12345</h1>則表示將上面對應的seletor的innerhtml渲染為<h1>12345</h1>,

temlpate為聯寫法,還可以寫為外部引入寫法:templateUrl:"../index.html", 這樣寫需要先定義好一個html文件,其內容為<h1>12345</h1>,並引入;

 

組件寫好后,需要在根模塊下將寫好的組件引入,在app/app.module.ts下import { AppComponent } from './app.component';
並修改:
@NgModule({imports: [ BrowserModule ]

            ,declarations: [ AppComponent ],

             bootstrap: [ AppComponent ]

            }

          )

 

最后添加新文件main.ts

import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app.module';
const platform = platformBrowserDynamic();
platform.bootstrapModule(AppModule);

 

至此就可以啟動應用了,在npm下輸入npm start等待幾秒即可

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM