1. 程式人生 > >Angular基礎(二) 元件的使用

Angular基礎(二) 元件的使用


一、簡單操作

a) 使用Angular CLI可以快速建立專案框架,先執行 $ npm install –g @angular/[email protected]安裝CLI,為CLI的位置設定環境變數,然後就可以全域性使用ng命令了。

執行ng new –ng4 angular-hello-world可以建立Angular4專案,會自動生成基礎的資料夾和檔案,還會自動進行npm i操作,下載並安裝所需的依賴。

然後執行ng serve就可以編譯並啟動這個程式了,但ng並不會自動開啟瀏覽器。

b) 建立一個元件

元件是Angular的核心,執行ng generate componenthello-world可以生成hello-world元件,如果VSCode安裝了Angular Files外掛,也通過可以方便地右鍵-新增元件,會為一個元件自動建立四個檔案。

元件的基本組成部分為裝飾器(Component Decorator)和元件定義類(ComponentDefinition class)。

上圖右側的hello-world.component.ts檔案中,import引入兩個依賴Component和OnInit;@Component部分便是裝飾器了,這部分程式碼將HelloWorld類裝飾成了一個元件。因為selector屬性的值為“app-hello-world”,<app-hello-world>標籤就可以在html中使用了。templateUrl定義了模板的路徑,還可使用template並使用倒引號(`…`)直接在ts檔案中嵌入模板內容;styleUrl指定當前元件專屬的CSS檔案路徑。

如此,一個元件就建立好了,在app.component.html中加入<app-hello-world>標籤就可以使用這個元件了。

c) 在元件中使用資料。

用外掛的功能新增一個user-item元件,會自動建立所有的檔案,並已將元件新增到了app.component.html。

在元件的ts檔案新增name屬性並在建構函式初始化

隨後在模板中使用這個屬性,語法為{{name}}。

d) 陣列的使用。

陣列的遍歷使用*ngFor,這與razor中的遍歷類似,會自動建立包含陣列成員的標籤。在ts檔案中定義字串陣列,可以用string[]或Array<string>的寫法。然後*ngFor的使用方式為:

試了下把let換成var就不行了,let宣告的變數作用域被限制在了塊級,比var安全,可能這兒的模板語法廢棄了var吧。

e) 元件的使用

前面建立的user-item元件中的name屬性只是使用了預設的值‘Felipe’。實際使用中,元件是可複用的,屬性的值應該從外部指定。

要在user-list元件中使用user-item,可以這樣修改user-list的模板:

[name]=***這樣的寫法是在向user-item元件傳遞值。

修改後的user.item.components.ts如下,匯入了Input,並在屬性前面加上@Input(),這樣就可以從父模板傳入值了。

二、Angular的啟動過程

a) 每個程式都有啟動入口,在執行ng serve後,ng會在.angular-cli.json中查詢入口,.angular-cli.json指向main.ts檔案,而main.ts便是程式的入口。在main.ts中platformBrowserDynamic().bootstrapModule(AppModule)語句表示啟動程式會執行AppModule,AppModule在app.module.ts中定義。

b) app.module.ts中的具體內容有:

@NgModule裝飾器包含四個屬性:declarations、imports、providers和bootstrap。

declaration屬性聲明瞭當前AppModule模組包含的元件,建立的新元件會自動新增到這裡。

imports屬性匯入了AppModule依賴的模組。關於imports與頭部的import的區別作者後面會細說。

prividers屬性用於進行依賴注入,現在不懂了。

bootstrap屬性指定了執行該模組時,載入的第一個元件。

學習資料:The Complete Book on Angular by Nate Murray, Felipe Coury, AriLerner , Carlos Taborda

相關推薦

Angular基礎() 元件的使用

​ 一、簡單操作 a) 使用Angular CLI可以快速建立專案框架,先執行 $ npm install –g @angular/[email protected]安裝CLI,為CLI的位置設定環境變數,然後就可以全域性使用ng命令了。 執行ng new –n

Angular基礎() 組件的使用

array 初始化 安裝 變量 line class boot 寫法 默認 ? 一、簡單操作 a) 使用Angular CLI可以快速創建項目框架,先運行 $ npm install –g @[email protected]/* */,為CLI的位置設置

Angular基礎

spa rip 函數 itl 利用 lin 作用域 eight res 雙向數據 利用angular把input框裏面的值和h3的值綁定在一起。在input裏輸入內容,內容會在h3標簽裏顯示出來。 具體效果請看下面代碼: <!DOCTYPE html>

Android 基礎控制元件()

##7.ImageView ImageView直接繼承View,也是非常常用的一種檢視控制元件。 示例程式碼: <ImageView android:id="@+id/testImage" android:layout_width="100dp" a

react基礎用法(元件渲染)

react基礎用法二(元件渲染)   如圖所示元件可以是函式 格式:function 方法名(){ return <標籤>內容</標籤>} 渲染格式: <方法名 /> 即可把方法體內的內容渲染到頁面 如圖所示這是像元

Angular() - 元件Component

- [1. 元件Component示例](#head1) - [2. Component常用的幾個選項](#head2) - [3. Component全部的選項](#head3) - [3.1 繼承自@Directive裝飾器的選項](#head4) - [3.2 @Component自己特有的選項

TP5學習基礎:目錄結構、URL路由、數據操作

更改 數據 valid nbsp 命名 別名 ret tag ati 一.安裝1.使用git或者composer(composer update)進行實時更新,區別在於git不會清空核心框架目錄而composer會清空。2.使用官網打包好的TP壓縮包(解壓即可用)->

python 全棧 web基礎 () html標簽

field 塊級元素 個數 eth 更改 上下 無序列表 pos uno 一、html是什麽? 超文本標記語言(Hypertext Markup Language,HTML)通過標簽語言來標記要顯示的網頁中的各個部分。一套規則,瀏覽器認識的規則 瀏覽器按順序渲染網頁文件,

Java基礎

世界 設置 notepad 目的 cnblogs spa 技術 編譯過程 bin Java基礎二 一、DOS常用命令 二、DOS常用命令實例 2.1 轉換目錄 cd 1.6* 2.2 刪除文件 del 刪除文件(windows刪除從裏往外刪) del *.txt

Angular 基礎

orm lur service ont 標記 三層 utf-8 區別 nec 安裝 1.官網http://angularjs.org/下載安裝 2.開源庫http://www.bootcdn.cn/下載安裝 Angular除了提供一些需要最新瀏覽器支持的功能外,同時提供以下

05-linux基礎

使用 linux操作系統 創建用戶 all 修改 use 目錄 密碼 iss 1. 用戶及passwd文件   1) /etc/passwd文件的功能:存儲所有用戶的相關信息,該文件也被稱為用戶信息數據庫(Database)。  2) /etc/passwd文件每個字段的具

6、Linux 基礎(

etc 文件的 gun src ima 五行 加載內核 修改 技術分享 一 正文處理命令及tar命令 1. 使用cat命令進行文件的縱向合並1) 掌握使用cat命令實現文件的縱向合並:a) 例如:使用cat命令將baby.age、baby.kg和baby.sex這三個文件

Linux基礎

容量 init 空間 found pki 視頻 file conda 模板 linux命令分類 內部命令:屬於shell解釋器 外部命令:獨立於shell解釋器 檢查命令類型 type:檢查命令字的類型 [[email protected]/* */ ~]#

angular 基礎router

改變 動態 參數數組 告訴 通用 切換 設置 顯示 tin anuglar中路由器設置按照具體路由到通用路由的設置。因為Angular使用先匹配者優先。 路由的出口在router-outlet標簽中顯示。<router-outlet></router-ou

JavaSE7基礎 、八、十、十六進制的表示方法

深入淺出 表示 努力 d+ cnblogs log pre png 深入 jdk版本 :jdk-7u72-windows-i586系統 :Windows7編輯器 :Notepad++ v7.4.2註意事項 :博文內容僅供參考,不可用於其他用途。 代碼 c

Python基礎--基本控制語句

廣東省 nlogn err str data main 產生一個隨機數 ring 案例 基本接觸每一種語言,都須要做的:1.print 一個"Hello world!" 2.了解主要的數據類型 3.學習控制語句。 當我們學習控制語句,一般都離不

Angular基礎(三) TypeScript

angular fat 新建 cto eight import 無刷新 寫法 編譯 一、模仿Reddit a) 運行ng new –ng4angular-reddit創建應用,從隨書代碼中復制樣式文件,新建組件app-root,代碼為: 界面可以看到了:

SuperSocket基礎

時間 cti convert 響應 setting 學習 opened ems mat SuperSocket基礎(二)-----一個完成SocketServer項目 由於時間關系未能及時更新,關於SuperSocket,對於初學者而言,一個SuperSock

python學習列表(Lists).基礎

出現 括號 list 數據結構 置頂 指定位置 () lis pop 列表(Lists) 序列是Python中最基本的數據結構,序列中的每個元素都分配一個數字,它的第一個索引是0第二個索引是1,依次類推。 列表是最常用的Python數據類型,它可以作為一個方括號內的逗號分隔

劉強1109 JavaScript基礎(分支與循環結構)

div tin 執行 javascrip 一次循環 document 嵌套if .cn 中一 【if-else結構】 1、結構的寫法: 1 if(判斷條件){ 2 條件為true時,執行if{} 3 } else{ 4 條件為false時,執行else{} 5 } 2