亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用AngularJS2中的指令

發布時間:2021-06-29 11:16:15 來源:億速云 閱讀:125 作者:小新 欄目:web開發

這篇文章主要介紹如何使用AngularJS2中的指令,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

這次我們使用Angular2的指令來實現。

指令實現hover效果

import { Directive, ElementRef, HostListener, Input } from '@angular/core';
@Directive({
 selector: '[myHighlight]'
})
export class HighlightDirective {
 constructor(private el: ElementRef) { }
 @HostListener('mouseenter') onMouseEnter() {
 this.highlight('red');
 }
 @HostListener('mouseleave') onMouseLeave() {
 this.highlight(null);
 }
 private highlight(color: string) {
 this.el.nativeElement.style.backgroundColor = color;
 }
}
<button myHighlight class="btn">按鈕一</button>
<button myHighlight class="btn">按鈕二</button>
<button myHighlight class="btn">按鈕三</button>
.btn{
 height: 50px;
 width: 100px;
 background-color: #3399ff;
 color: white;
 border: 0;
 outline: 0;
 cursor: hand;
}

hover的效果直接參考Angular官網的代碼。

如何使用AngularJS2中的指令 

指令實現click效果

import { Directive, ElementRef, HostListener, Input } from '@angular/core';
@Directive({
 selector: '[myHighlight]'
})
export class HighlightDirective {
 constructor(private el: ElementRef) { }
 @HostListener('click') onMouseClick() {
 this.clickhighlight("black");
 }
 private clickhighlight(color: string) {
 let obj = this.el.nativeElement;
 let btns = obj.parentNode.children;
 //背景色全部重置
 for(let i=0; i<btns.length; i++){
 btns[i].style.backgroundColor = "#3399ff";
 }
 //設置當前點擊對象的背景色
 obj.style.backgroundColor = color;
 }
}
<div>
<button myHighlight class="btn">按鈕一</button>
<button myHighlight class="btn">按鈕二</button>
<button myHighlight class="btn">按鈕三</button>
</div>
.btn{
 height: 50px;
 width: 100px;
 background-color: #3399ff;
 color: white;
 border: 0;
 outline: 0;
 cursor: hand;
}

click效果仍然用@HostListener裝飾器引用屬性型指令的宿主元素,首先把所有button的背景顏色重置,然后再設置當前點擊對象的背景顏色,這樣就達到了點擊后背景顏色變化的效果。

如何使用AngularJS2中的指令 

指令實現click加hover效果

import { Directive, ElementRef, HostListener, Input } from '@angular/core';
@Directive({
 selector: '[myHighlight]'
})
export class HighlightDirective {
 constructor(private el: ElementRef) { }
 @HostListener('click') onMouseClick() {
 this.clickhighlight("black");
 }
 private clickhighlight(color: string) {
 let obj = this.el.nativeElement;
 let btns = obj.parentNode.children;
 //背景色全部重置
 for(let i=0; i<btns.length; i++){
 btns[i].style.backgroundColor = "#3399ff";
 }
 //設置當前點擊對象的背景色
 obj.style.backgroundColor = color;
 }
}
<div>
<button myHighlight class="btn">按鈕一</button>
<button myHighlight class="btn">按鈕二</button>
<button myHighlight class="btn">按鈕三</button>
</div>
.btn{
 height: 50px;
 width: 100px;
 background-color: #3399ff;
 color: white;
 border: 0;
 outline: 0;
 cursor: hand;
}
.btn:hover{
 background: black !important;
}

配合上文click效果,只要加上一行css代碼就可以實現click和hover的組合效果,此處務必使用hover偽類,并用!important來提升樣式的優先級,如果用@HostListener裝飾器,mouseenter、mouseleave、click三者會打架:

如何使用AngularJS2中的指令 

以上是“如何使用AngularJS2中的指令”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

小金县| 同江市| 银川市| 宝坻区| 连云港市| 德钦县| 荣昌县| 漳浦县| 江永县| 松滋市| 城口县| 新民市| 鹿邑县| 吉木萨尔县| 大洼县| 巴楚县| 大宁县| 玉环县| 长泰县| 平邑县| 慈利县| 江口县| 平乐县| 稻城县| 珠海市| 黄石市| 上栗县| 余江县| 深水埗区| 康马县| 巴塘县| 潜山县| 凌源市| 横山县| 博爱县| 阿拉善右旗| 娱乐| 虞城县| 宁夏| 高台县| 济南市|