指令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
- [AngularJS] Hijacking Existing HTML Attributes with Angular DirectivesAngularJSHTML
- Angular 4.x 自定義驗證指令Angular
- angular學習筆記(三十)-指令(4)-transcludeAngular筆記
- 關於 Angular 應用 Components 和 Directives 的例項化問題Angular
- angular4Angular
- Angular 4 系列(一)初識 AngularAngular
- Angular 2 升級 Angular 4 歷程Angular
- Angular4+路由Angular路由
- AngularJS、 Angular 2、Angular 4 的區別AngularJS
- angular指令實戰-notepadAngular
- Angular 4.x InjectorAngular
- Angular 4.x LocationStrategyAngular
- 忘記 Angular 3:Google 將釋出 Angular 4AngularGo
- 沒有Angular 3,下一個Angular主版本將是Angular 4Angular
- Angular 4.0 內建指令全攻略Angular
- 搞定angular1.x——複雜指令Angular
- angular指令中使用ngModelControllerAngularController
- Angular (四) | 創造屬性指令-15Angular
- angular 接入 IdentityServer4AngularIDEServer
- angular4 反向代理detailsAngularAI
- Angular之路–帶你來搭建Webpack 2 + Angular 4專案AngularWeb
- Angular效能優化 – 再談Angular 4髒值檢測Angular優化
- Angular之路--帶你來搭建Webpack 2 + Angular 4專案AngularWeb
- Angular效能優化 - 再談Angular 4髒值檢測Angular優化
- Angular2 VS Angular4 深度對比:特性、效能Angular
- 4.新增Angular專案的CI指令碼,提交到gitlab實現CI&CDAngular指令碼Gitlab
- Angular JS 自定義指令的scope範圍AngularJS
- 第216天:Angular—自定義指令(二)Angular
- angular學習筆記(十九)-指令修改domAngular筆記
- angular-1.3 之ng-model-options指令Angular
- angular學習筆記(三十)-指令(3)-templateUrlAngular筆記
- angular學習筆記(三十)-指令(1)-概述Angular筆記
- angular學習筆記(三十)-指令(8)-scopeAngular筆記
- Angular4 實戰開發Angular
- Angular 4.x HttpModule 揭祕AngularHTTP
- Angular 4環境準備與Angular cli建立專案詳解Angular