久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      淺析Angular中的自定義結(jié)構(gòu)型/屬性型指令

      Angular指令分為三種,組件(帶模板指令)、結(jié)構(gòu)型指令(改變宿主文檔結(jié)構(gòu))、屬性型指令(改變宿主行為),下面主要介紹自定義結(jié)構(gòu)型指令和自定義屬性型指令。

      淺析Angular中的自定義結(jié)構(gòu)型/屬性型指令

      一、自定義結(jié)構(gòu)型指令

      一個(gè)元素上只能放一個(gè)結(jié)構(gòu)型指令,結(jié)構(gòu)型指令的書寫形式為*指令名,*是一個(gè)語法糖,如下代碼:

      <div *ngIf=""></div> <!-- 等價(jià)于 --> <ng-template [ngIf]="">   <div></div> </ng-template>
      登錄后復(fù)制

      以下自定義一個(gè)結(jié)構(gòu)型指令,當(dāng)給指令輸入superadmin和admin時(shí),DOM節(jié)點(diǎn)顯示,否則移除節(jié)點(diǎn)?!鞠嚓P(guān)教程推薦:《angular教程》】

      @Directive({   selector: '[appLogin]' }) export class LoginDirective implements OnInit{   @Input('appLogin') user=""   constructor(private VCR: ViewContainerRef,private TPL: TemplateRef<any>) {    //在指令的構(gòu)造函數(shù)中將 TemplateRef 和 ViewContainerRef 注入成私有變量。   }   ngOnInit(){     if(this.user=='superadmin'||this.user=="admin"){       this.VCR.createEmbeddedView(this.TPL)     }else{       this.VCR.clear()     }   } }
      登錄后復(fù)制

      <div *appLogin="'superadmin'">超級(jí)管理員</div> <div *appLogin="'admin'">管理員</div> <div *appLogin="'user'">普通會(huì)員</div>
      登錄后復(fù)制

      效果:
      淺析Angular中的自定義結(jié)構(gòu)型/屬性型指令
      二、自定義屬性型指令

      使用屬性型指令,可以更改 DOM 元素和 Angular 組件的外觀或行為。

      1、從 @angular/core 導(dǎo)入 ElementRef。ElementRef 的 nativeElement 屬性會(huì)提供對(duì)宿主 DOM 元素的直接訪問權(quán)限。

      2、在指令的 constructor() 中添加 ElementRef 以注入對(duì)宿主 DOM 元素的引用,該元素就是 appColor 的作用目標(biāo)。

      3、向 ColorDirective 類中添加邏輯,在不同輸入條件下,背景分別展現(xiàn)為紅、綠、藍(lán)

      @Directive({   selector: '[appColor]' }) export class ColorDirective implements OnInit{   @Input() appColor=""   constructor(private ele:ElementRef) {         }   ngOnInit(){     if (this.appColor == 'superadmin'){       this.ele.nativeElement.style.backgroundColor="red"     } else if (this.appColor == 'admin') {       this.ele.nativeElement.style.backgroundColor = "green"     }else{       this.ele.nativeElement.style.backgroundColor = "blue"     }   } }
      登錄后復(fù)制

      <div [appColor]="'superadmin'">超級(jí)管理員</div> <div [appColor]="'admin'">管理員</div> <div [appColor]="'user'">普通會(huì)員</div>**
      登錄后復(fù)制

      效果:

      淺析Angular中的自定義結(jié)構(gòu)型/屬性型指令

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)