最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解如何構(gòu)建Angular項(xiàng)目目錄結(jié)構(gòu)

 更新時(shí)間:2017年07月13日 09:52:02   作者:朽木_不折  
本篇文章主要介紹了詳解如何構(gòu)建Angular項(xiàng)目目錄結(jié)構(gòu),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

在上一篇博客中我們已經(jīng)通過Angular CLI命令行工具創(chuàng)建出來一個(gè)全新的Angular項(xiàng)目,要想寫項(xiàng)目,首先我們要先搞清楚項(xiàng)目的目錄結(jié)構(gòu)是怎樣的,每個(gè)文件又有什么意義,文件中的代碼又起到什么作用。

首先看一下整體的目錄結(jié)構(gòu):

這里寫圖片描述

可以看到,命令行工具自動(dòng)生成了很多文件和目錄,我們來說說這些目錄是干什么的

首層目錄:

node_modules    第三方依賴包存放目錄
e2e         端到端的測(cè)試目錄 用來做自動(dòng)測(cè)試的
src         應(yīng)用源代碼目錄 
.angular-cli.json  Angular命令行工具的配置文件。后期可能會(huì)去修改它,引一些其他的第三方的包 比如jquery等
karma.conf.js    karma是單元測(cè)試的執(zhí)行器,karma.conf.js是karma的配置文件
package.json    這是一個(gè)標(biāo)準(zhǔn)的npm工具的配置文件,這個(gè)文件里面列出了該應(yīng)用程序所使用的第三方依賴包。實(shí)際上我們?cè)谛陆?xiàng)目的時(shí)候,等了半天就是在下載第三方依賴包。下載完成后會(huì)放在node_modules這個(gè)目錄中,后期我們可能會(huì)修改這個(gè)文件。
protractor.conf.js 也是一個(gè)做自動(dòng)化測(cè)試的配置文件
README.md      說明文件
tslint.json     是tslint的配置文件,用來定義TypeScript代碼質(zhì)量檢查的規(guī)則,不用管它

src目錄:

app目錄        包含應(yīng)用的組件和模塊,我們要寫的代碼都在這個(gè)目錄
assets目錄      資源目錄,存儲(chǔ)靜態(tài)資源的 比如圖片
environments目錄   環(huán)境配置。Angular是支持多環(huán)境開發(fā)的,我們可以在不同的環(huán)境下(開發(fā)環(huán)境,測(cè)試環(huán)境,生產(chǎn)環(huán)境)共用一套代碼,主要用來配置環(huán)境的
index.html     整個(gè)應(yīng)用的根html,程序啟動(dòng)就是訪問這個(gè)頁面
main.ts       整個(gè)項(xiàng)目的入口點(diǎn),Angular通過這個(gè)文件來啟動(dòng)項(xiàng)目
polyfills.ts    主要是用來導(dǎo)入一些必要庫,為了讓Angular能正常運(yùn)行在老版本下
styles.css     主要是放一些全局的樣式
tsconfig.app.json  TypeScript編譯器的配置,添加第三方依賴的時(shí)候會(huì)修改這個(gè)文件
tsconfig.spec.json 不用管
test.ts       也是自動(dòng)化測(cè)試用的
typings.d.ts    不用管

app目錄(重點(diǎn))

app目錄是我們要編寫的代碼目錄。我們寫的代碼都是放在這個(gè)目錄。

一個(gè)Angular程序至少需要一個(gè)模塊和一個(gè)組件。在我們新建項(xiàng)目的時(shí)候命令行已經(jīng)默認(rèn)生成出來了。

這里寫圖片描述 

app.component.ts:這個(gè)文件表示組件,

組件是Angular應(yīng)用的基本構(gòu)建模塊,可以理解為一段帶有業(yè)務(wù)邏輯和數(shù)據(jù)的Html

我們來看看app.component.ts中的代碼,并解釋下代碼的意義

下圖是源代碼,我只是把title的值給改了下

這里寫圖片描述

來看看每行代碼的意義,有點(diǎn)亂,可以復(fù)制到編輯器上去看。

/*這里是從Angular核心模塊里面引入了component裝飾器*/
import {Component} from '@angular/core';

/*用裝飾器定義了一個(gè)組件以及組件的元數(shù)據(jù) 所有的組件都必須使用這個(gè)裝飾器來注解*/
@Component({
 /*組件元數(shù)據(jù) Angular會(huì)通過這里面的屬性來渲染組件并執(zhí)行邏輯
 * selector就是css選擇器,表示這個(gè)組件可以通過app-root來調(diào)用,index.html中有個(gè)<app-root>Loading...</app-root>標(biāo)簽,這個(gè)標(biāo)簽用來展示該組件的內(nèi)容
 *templateUrl 組件的模板,定義了組件的布局和內(nèi)容
 *styleUrls  該模板引用那個(gè)css樣式
 * */
 selector: 'app-root',
 templateUrl: './app.component.html',
 styleUrls: ['./app.component.css']
})
/*AppComponent本來就是一個(gè)普通的typescript類,但是上面的組件元數(shù)據(jù)裝飾器告訴Angular,AppComponent是一個(gè)組件,需要把一些元數(shù)據(jù)附加到這個(gè)類上,Angular就會(huì)把AppComponent當(dāng)組件來處理*/
export class AppComponent {
 /*這個(gè)類實(shí)際上就是該組件的控制器,我們的業(yè)務(wù)邏輯就是在這個(gè)類中編寫*/
 title = '學(xué)習(xí)Angular';
}

組件相關(guān)的概念:

1.組件元數(shù)據(jù)裝飾器(@Component)

簡(jiǎn)稱組件裝飾器,用來告知Angular框架如何處理一個(gè)TypeScript類.

Component裝飾器包含多個(gè)屬性,這些屬性的值叫做元數(shù)據(jù),Angular會(huì)根據(jù)這些元數(shù)據(jù)的值來渲染組件并執(zhí)行組件的邏輯

2.模板(Template)

我們可以通過組件自帶的模板來定義組件的外觀,模板以html的形式存在,告訴Angular如何來渲染組件,一般來說,模板看起來很像html,但是我們可以在模板中使用Angular的數(shù)據(jù)綁定語法,來呈現(xiàn)控制器中的數(shù)據(jù)。

3.控制器(controller)

控制器就是一個(gè)普通的typescript類,他會(huì)被@Component來裝飾,控制器會(huì)包含組件所有的屬性和方法,絕大多數(shù)的業(yè)務(wù)邏輯都是寫在控制器里的。控制器通過數(shù)據(jù)綁定與模板來通訊,模板展現(xiàn)控制器的數(shù)據(jù),控制器處理模板上發(fā)生的事件。

裝飾器,模板和控制器是組件的必備要素。還有一些可選的元素,比如:

輸入屬性(@inputs):是用來接收外部傳入的數(shù)據(jù)的,Angular的程序結(jié)構(gòu)就是一個(gè)組件樹,輸入屬性允許在組件樹種傳遞數(shù)據(jù)

提供器(providers):這個(gè)是用來做依賴注入的

生命周期鉤子(LifeCycle Hooks):一個(gè)組件從創(chuàng)建到銷毀的過程中會(huì)有多個(gè)鉤子會(huì)被觸發(fā),類似于Android中的Activity的生命周期

樣式表:組件可以關(guān)聯(lián)一些樣式表

動(dòng)畫(Animations): Angular提供了一個(gè)動(dòng)畫包來幫助我們方便的創(chuàng)建一些跟組件相關(guān)的動(dòng)畫效果,比如淡入淡出等

輸出屬性(@Outputs):用來定義一些其他組件可能需要的事件或者用來在組件之間共享數(shù)據(jù)

簡(jiǎn)單來說,組件的中關(guān)系就如下圖所示

這里寫圖片描述

下面我們來看看模塊文件

app.module.ts:這個(gè)文件表示模塊

與AppComponent類似,模塊也需要裝飾器來裝飾。

這里寫圖片描述

好了,新項(xiàng)目的目錄結(jié)構(gòu)就是這樣!

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Angular懶加載機(jī)制刷新后無法回退的快速解決方法

    Angular懶加載機(jī)制刷新后無法回退的快速解決方法

    使用oclazyload懶加載angular的模塊,刷新頁面后,單擊回退按鈕無法返回上一個(gè)頁面.怎么回事呢?下面小編給大家?guī)砹薬ngular懶加載機(jī)制刷新后無法回退的快速解決方法,非常不錯(cuò),感興趣的朋友參考下
    2016-08-08
  • AngularJS入門知識(shí)之MVW類框架的編程思想探討

    AngularJS入門知識(shí)之MVW類框架的編程思想探討

    這篇文章主要介紹了AngularJS入門知識(shí)之MVW類框架的編程思想探討,本文通過實(shí)現(xiàn)兩個(gè)簡(jiǎn)單的業(yè)務(wù)需求,探討AngularJS和傳統(tǒng)的JavaScript控制DOM實(shí)現(xiàn)方式的差別,并嘗試?yán)斫?MVW此類框架在流行的Web前端開發(fā)中的編程思想,需要的朋友可以參考下
    2014-12-12
  • Angular 1.x個(gè)人使用的經(jīng)驗(yàn)小結(jié)

    Angular 1.x個(gè)人使用的經(jīng)驗(yàn)小結(jié)

    這篇文章主要給大家介紹了關(guān)于Angular 1.x個(gè)人使用的一些經(jīng)驗(yàn),屬于一些基礎(chǔ)入門教程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。
    2017-07-07
  • 詳解AngularJS ng-class樣式切換

    詳解AngularJS ng-class樣式切換

    本篇文章主要介紹了詳解AngularJS ng-class樣式切換,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-06-06
  • Angular實(shí)現(xiàn)的內(nèi)置過濾器orderBy排序與模糊查詢功能示例

    Angular實(shí)現(xiàn)的內(nèi)置過濾器orderBy排序與模糊查詢功能示例

    這篇文章主要介紹了Angular實(shí)現(xiàn)的內(nèi)置過濾器orderBy排序與模糊查詢功能,涉及AngularJS過濾器、排序及字符串遍歷、查詢等相關(guān)操作技巧,需要的朋友可以參考下
    2017-12-12
  • angularjs 中$apply,$digest,$watch詳解

    angularjs 中$apply,$digest,$watch詳解

    這篇文章主要介紹了angularjs 中$apply,$digest,$watch詳解的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • angular4中引入echarts的方法示例

    angular4中引入echarts的方法示例

    這篇文章主要介紹了angular4中引入echarts的方法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-01-01
  • AngularJS使用$http配置對(duì)象方式與服務(wù)端交互方法

    AngularJS使用$http配置對(duì)象方式與服務(wù)端交互方法

    今天小編就為大家分享一篇AngularJS使用$http配置對(duì)象方式與服務(wù)端交互方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • AngularJS 實(shí)現(xiàn)點(diǎn)擊按鈕獲取驗(yàn)證碼功能實(shí)例代碼

    AngularJS 實(shí)現(xiàn)點(diǎn)擊按鈕獲取驗(yàn)證碼功能實(shí)例代碼

    本文通過實(shí)例代碼給大家介紹了AngularJS 實(shí)現(xiàn)點(diǎn)擊按鈕獲取驗(yàn)證碼功能,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-07-07
  • AngularJS基礎(chǔ) ng-click 指令示例代碼

    AngularJS基礎(chǔ) ng-click 指令示例代碼

    本文介紹AngularJS ng-click 指令,這里整理了ng-click指令的基礎(chǔ)知識(shí)并且附有簡(jiǎn)單示例代碼和實(shí)現(xiàn)效果圖,有需要的小伙伴參考下
    2016-08-08

最新評(píng)論

会泽县| 平果县| 确山县| 孟村| 吉林市| 蒙城县| 东台市| 枣庄市| 忻城县| 垫江县| 西平县| 新巴尔虎右旗| 收藏| 苏尼特左旗| 潼关县| 贺兰县| 开阳县| 时尚| 桃江县| 道孚县| 湖北省| 肥西县| 新和县| 邻水| 金坛市| 洛南县| 西林县| 同江市| 丰原市| 翁源县| 依兰县| 扎囊县| 阿图什市| 金沙县| 钟祥市| 乌兰县| 翁牛特旗| 枣庄市| 洪江市| 炉霍县| 东源县|