指令Angular 4 - Directives
Angular中的指令是一個js類,它被宣告為@directive。Angular中有3種指令表現形式。
元件的指令
它們構成了主類,包含了元件在執行時應該如何處理、例項化和使用的詳細資訊。
結構指示
結構指令主要處理操作dom元素。結構指令在指令前有符號。例如,ngIf和*ngFor。
屬性指示
屬性指令處理修改dom元素的外觀和行為。您可以建立自己的指令。
怎麼自定義自己的指令?
採用angular-cli命令建立
ng g directive nameofthedirective
e.g
ng g directive directives/bgColor
執行命令後生成如下檔案:
CYGR-0101-01-0137deMacBook-Pro:jinadmin cygr-0101-01-0137$ ng g directive directives/bgColor
CREATE src/app/directives/bg-color.directive.spec.ts (229 bytes)
CREATE src/app/directives/bg-color.directive.ts (143 bytes)
UPDATE src/app/app.module.ts (2279 bytes)
app.module.ts檔案匯入及宣告剛建立的指令
bg-color. directive
import { Directive } from '@angular/core';
@Directive({
selector: '[appBgColor]'
})
export class BgColorDirective {
constructor() { }
}
怎樣使用指令?
我們要在要使用此類指令的頁面模板中新增下面的程式碼示例
<div>
<span>hello world.</span>
</div>
<div>
<span appBgColor>hello world.</span>
</div>
指令處理
import { Directive , ElementRef} from '@angular/core';
@Directive({
selector: '[appBgColor]'
})
export class BgColorDirective {
constructor(Element: ElementRef) {
console.log(Element);
Element.nativeElement.style.backgroundColor = 'red';
Element.nativeElement.innerText="Color is changed by bgColor Directive. ";
}
}
然後,新增此指令的dom就變成指令處理後的結果
最後可以看下渲染後的結果
相關文章
- Angular 4.x template syntax & common directivesAngular
- Angular學習(4)自定義指令Angular
- 關於 Angular 應用 Components 和 Directives 的例項化問題Angular
- angular4Angular
- AngularJS、 Angular 2、Angular 4 的區別AngularJS
- Angular4+路由Angular路由
- Angular 4.0 內建指令全攻略Angular
- 第216天:Angular—自定義指令(二)Angular
- Angular (四) | 創造屬性指令-15Angular
- Angular 4.x LocationStrategyAngular
- Angular 4.x InjectorAngular
- angular 接入 IdentityServer4AngularIDEServer
- 4.新增Angular專案的CI指令碼,提交到gitlab實現CI&CDAngular指令碼Gitlab
- Angular JS 自定義指令的scope範圍AngularJS
- angular4 反向代理detailsAngularAI
- Angular效能優化 – 再談Angular 4髒值檢測Angular優化
- Angular之路–帶你來搭建Webpack 2 + Angular 4專案AngularWeb
- Angular效能優化 - 再談Angular 4髒值檢測Angular優化
- Angular 4.x HttpModule 揭祕AngularHTTP
- Angular4 實戰開發Angular
- [轉]Angular 4|5 Material Dialog with ExampleAngular
- AngularJS 4(三)【指令】AngularJS
- Angular 4環境準備與Angular cli建立專案詳解Angular
- Angular 自定義結構型指令 structural directive 的使用AngularStruct
- angular4學習記錄 — 路由Angular路由
- 《 Angular高階程式設計(第4版)》之“Angular 基礎知識”Angular程式設計
- 4.v-once指令
- 前端學習(2335):angular之內建結構指令ngif前端Angular
- [20181225]12CR2 SQL Plan Directives.txtSQL
- TypeScript 裡的 Reference Type 和 Triple-Slash DirectivesTypeScript
- cass-4-cass常用指令
- Angular4專案(水果商城移動端)Angular
- Vue(4)Vue指令的學習1Vue
- Git(4) 子樹拉取指令碼Git指令碼
- ASP.NET Core 2.1 Web API + Identity Server 4 + Angular 6 + Angular Material 實戰小專案視訊ASP.NETWebAPIIDEServerAngular
- vue,angular4,react如何搭建完美的工程專案VueAngularReact
- angular 4版本小知識點----方便自己看Angular
- Angular 自定義結構化指令,如何傳入多個輸入引數Angular