AngularJs 雜記

設(shè)置開發(fā)環(huán)境

    1.安裝 node環(huán)境谭溉,檢查node和npm的版本號(hào);確保你正在運(yùn)行 node 6.9.x 和 npm 3.x.x 以上的版本橡卤。
    2.全局安裝Angular CLI(是一個(gè)命令行界面工具扮念,可以創(chuàng)建項(xiàng)目,添加文件以及執(zhí)行一大堆的開發(fā)任務(wù)碧库,
       比如測試削锰、打包廷支、發(fā)布拣凹。)
       輸入命令:npm  install -g @angular/cli
    3.創(chuàng)建新項(xiàng)目
           在終端命令中础浮,運(yùn)行下面的命令來自動(dòng)創(chuàng)建一個(gè)承載開發(fā)文件的文件夾(mky-app 名稱隨便)。
           輸入命令:ng new my-app
    4.啟動(dòng)開發(fā)服務(wù)器
          輸入命令: cd  my-app
              ng serve  --open
              (ng serve 命令會(huì)啟動(dòng)服務(wù)器沽瞭,監(jiān)聽文件變化迁匠,并在修改這些文件是重新構(gòu)造此應(yīng)用。)   
             (使用--open或-o參數(shù)可以自動(dòng)打開瀏覽器并訪問 http://localhost:4200/ )
         至此驹溃,angularJs構(gòu)建就搭建完成了城丧。

項(xiàng)目文件總覽

File 文件 Purpose 用途
app/app.component.{ts,html,css,spec.ts} 使用HTML模板、CSS樣式和單元測試定義AppComponent組件豌鹤。 它是根組件亡哄,隨著應(yīng)用的成長它會(huì)成為一棵組件樹的根節(jié)點(diǎn)。
app/app.module.ts 定義`AppModule`布疙,這個(gè)[根模塊](https://www.angular.cn/guide/bootstrapping "AppModule: 根模塊")會(huì)告訴Angular如何組裝該應(yīng)用蚊惯。 目前,它只聲明了`AppComponent`灵临。 稍后它還會(huì)聲明更多組件拣挪。
assets/* 這個(gè)文件夾下你可以放圖片等任何東西,在構(gòu)建應(yīng)用時(shí)俱诸,它們?nèi)紩?huì)拷貝到發(fā)布包中。
environments/* 這個(gè)文件夾中包括為各個(gè)目標(biāo)環(huán)境準(zhǔn)備的文件赊舶,它們導(dǎo)出了一些應(yīng)用中要用到的配置變量睁搭。 這些文件會(huì)在構(gòu)建應(yīng)用時(shí)被替換赶诊。 比如你可能在產(chǎn)品環(huán)境中使用不同的API端點(diǎn)地址,或使用不同的統(tǒng)計(jì)Token參數(shù)园骆。 甚至使用一些模擬服務(wù)舔痪。 所有這些,CLI都替你考慮到了锌唾。
index.html 這是別人訪問你的網(wǎng)站是看到的主頁面的HTML文件锄码。 大多數(shù)情況下你都不用編輯它。 在構(gòu)建應(yīng)用時(shí)晌涕,CLI會(huì)自動(dòng)把所有js和css文件添加進(jìn)去滋捶,所以你不必在這里手動(dòng)添加任何 <script> 或 <link> 標(biāo)簽。
main.ts 這是應(yīng)用的主要入口點(diǎn)余黎。 使用[JIT compiler](https://www.angular.cn/guide/glossary#jit)編譯器編譯本應(yīng)用重窟,并啟動(dòng)應(yīng)用的根模塊`AppModule`,使其運(yùn)行在瀏覽器中惧财。 你還可以使用[AOT compiler](https://www.angular.cn/guide/glossary#ahead-of-time-aot-compilation)編譯器巡扇,而不用修改任何代碼 —— 只要給`ng build` 或 `ng serve` 傳入 `--aot` 參數(shù)就可以了。
polyfills 不同的瀏覽器對Web標(biāo)準(zhǔn)的支持程度也不同垮衷。 填充庫(polyfill)能幫我們把這些不同點(diǎn)進(jìn)行標(biāo)準(zhǔn)化厅翔。 你只要使用`core-js` 和 `zone.js`通常就夠了,不過你也可以查看[瀏覽器支持指南](https://www.angular.cn/guide/browser-support)以了解更多信息搀突。
styles.css 這里是你的全局樣式刀闷。 大多數(shù)情況下,你會(huì)希望在組件中使用局部樣式描姚,以利于維護(hù)涩赢,不過那些會(huì)影響你整個(gè)應(yīng)用的樣式你還是需要集中存放在這里。
test.ts 這是單元測試的主要入口點(diǎn)轩勘。 它有一些你不熟悉的自定義配置筒扒,不過你并不需要編輯這里的任何東西。
tsconfig.app.json和tsconfig.spec.json TypeScript編譯器的配置文件绊寻。`tsconfig.app.[json](https://www.angular.cn/api/common/JsonPipe)`是為Angular應(yīng)用準(zhǔn)備的花墩,而`tsconfig.spec.[json](https://www.angular.cn/api/common/JsonPipe)`是為單元測試準(zhǔn)備的。

其他的文件就不一一列舉了澄步,詳細(xì)介紹請看文檔冰蘑。
雙向數(shù)據(jù)綁定

  <div>  
      <label>name: </label>  
      <input [(ngModel)]="hero.name"  placeholder="name">  
  </div>

[(ngModel)]是一個(gè)angularJs的語法,用于把hero.name 的綁定到輸入框中村缸,數(shù)據(jù)流是雙向的祠肥,從屬性到輸入框并且從輸入框到屬性。
不過當(dāng)input 添加了這項(xiàng)之后梯皿。瀏覽器會(huì)報(bào)出一個(gè)錯(cuò)誤[ngModel] ... isn't a known property of input.”([ngModel]不是input元素的已知屬性)
雖然 ngModel是angularJs的一個(gè)有效指令仇箱,但默認(rèn)情況下是不可用的县恕。它屬于一個(gè)可選模塊FormsModule。必須得先導(dǎo)入FormsModulem模塊剂桥。
打開app,module.ts文件忠烛,并且從@angular/forms庫中導(dǎo)入符號(hào)FormsModule,然后把FormsModule添加到@ngModule元數(shù)據(jù)improts數(shù)組中权逗。

FormsModule.png
這樣美尸,就可以正常使用了。

通過使用ngFor來循環(huán)列表
<li *ngFor='let hero of heroes'></li>
ngFor 的*前綴表示<li>及其子元素組成一個(gè)主控模板斟薇。
引號(hào)中賦值給ngFor的那段文本表示*從heroes數(shù)組中取出每一個(gè)元素师坎,存入到一個(gè)局部hero變量,并讓他們在相應(yīng)的模板實(shí)例中可用*

處理點(diǎn)擊事件
在<li>元素上插入一句點(diǎn)擊事件的綁定代碼:
<li *ngFor='let hero of heroes' (click)="onSelect(hero)">...</li>
圓括號(hào)標(biāo)識(shí)<li>元素上的click事件是綁定目標(biāo)奔垦,等號(hào)右邊的onSelect(hero)表達(dá)式調(diào)用AppCompoentonSelect()方法屹耐,并把模板輸入變量hero作為參數(shù)傳進(jìn)去。

組件編寫
.組件的類名應(yīng)該是大駝峰形式椿猎,并且以Component 結(jié)尾惶岭。形如:HeroDetailComponent
.組件的文件名應(yīng)該是小寫中線形式,形如:kebab-case,每個(gè)單詞之間用中線分隔犯眠。并且是以.component.ts結(jié)尾按灶。
.要定義一個(gè)組件,必定需要導(dǎo)入AngularJs的符號(hào)Component, @Component裝飾器為組件提供Angular元數(shù)據(jù);selectorCSS選擇器的名字筐咧,會(huì)匹配元素的標(biāo)簽名鸯旁。用于在父元素組件的模板中標(biāo)記出當(dāng)前組件的位置。
.在AppModule中聲明組件類量蕊。每個(gè)組件都必須有一個(gè)(且只有一個(gè))Angular模塊中聲明铺罢。
形如:import{ HeroDetailComponent } from './hero-detail.component'
.把組件添加到該模塊的declarations數(shù)組中残炮;通常declarations數(shù)組包含應(yīng)用中的屬于該模塊的組件韭赘、管道和指令列表。組件在被其他組件引用之前都在一個(gè)模塊中聲明過势就。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末泉瞻,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子苞冯,更是在濱河造成了極大的恐慌袖牙,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件舅锄,死亡現(xiàn)場離奇詭異鞭达,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進(jìn)店門碉怔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來烘贴,“玉大人,你說我怎么就攤上這事撮胧。” “怎么了老翘?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵芹啥,是天一觀的道長。 經(jīng)常有香客問我铺峭,道長墓怀,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任卫键,我火速辦了婚禮傀履,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘莉炉。我一直安慰自己钓账,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布絮宁。 她就那樣靜靜地躺著梆暮,像睡著了一般。 火紅的嫁衣襯著肌膚如雪绍昂。 梳的紋絲不亂的頭發(fā)上啦粹,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天,我揣著相機(jī)與錄音窘游,去河邊找鬼唠椭。 笑死忍饰,一個(gè)胖子當(dāng)著我的面吹牛贪嫂,可吹牛的內(nèi)容都是我干的喘批。 我是一名探鬼主播,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼饶深,長吁一口氣:“原來是場噩夢啊……” “哼餐曹!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起敌厘,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎饱狂,沒想到半個(gè)月后曹步,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡休讳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年讲婚,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了俊柔。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片筹麸。...
    茶點(diǎn)故事閱讀 39,902評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡雏婶,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出酵紫,到底是詐尸還是另有隱情,我是刑警寧澤奖地,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布需五,位于F島的核電站鹉动,受9級(jí)特大地震影響宏邮,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蜜氨,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一飒炎、第九天 我趴在偏房一處隱蔽的房頂上張望埋哟。 院中可真熱鬧郎汪,春花似錦、人聲如沸煞赢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至波俄,卻和暖如春晨逝,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背懦铺。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工冬念, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留昏翰,地道東北人刘急。 一個(gè)月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓浸踩,卻偏偏與公主長得像,于是被迫代替她去往敵國和親据块。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評論 2 354

推薦閱讀更多精彩內(nèi)容

  • angularJS中8個(gè)主要模塊另假,學(xué)好了就可以出師了怕犁,這是真的嘛,讓我來看看奏甫,現(xiàn)在學(xué)到了幾個(gè)。 1阵子、模塊(modu...
    wshining閱讀 145評論 0 0
  • 版本:Angular 5.0.0-alpha 表單是商業(yè)應(yīng)用的支柱挠进,我們用它來執(zhí)行登錄色乾、求助领突、下單、預(yù)訂機(jī)票攘须、安排...
    soojade閱讀 1,278評論 0 1
  • 學(xué)習(xí)資料來自 Angular.cn 與 Angular.io。 模板語法 在線例子 在 Angular 中浮驳,組件扮...
    小鐳Ra閱讀 3,734評論 0 3
  • 軟裝的本質(zhì)是研究生活,軟裝設(shè)計(jì)是以高品質(zhì)生活方式為主線至会,從家居生活文化與整體空間設(shè)計(jì)角度出發(fā),通過家居產(chǎn)品陳設(shè)搭配...
    紋物閱讀 290評論 0 1
  • 六月一向只能用兵荒馬亂來形容宵蛀,這兩天也是已經(jīng)兵弱少糧了县貌。心情和身體都跌倒谷底,已經(jīng)是分身乏術(shù)無回天之力了(瘋) 現(xiàn)...
    颯然的秋閱讀 157評論 2 0