Angular中如何自定义结构型指令和属性型指令


今天小编给大家分享一下Angular中如何自定义结构型指令和属性型指令的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。 一、自定义结构型指令一个元素上只能放一个结构型指令,结构型指令的书写形式为*指令名,*是一个语法糖,如下代码:

以下自定义一个结构型指令,当给指令输入superadmin和admin时,DOM节点显示,否则移除节点。

@Directive({
selector:'[appLogin]'
})
exportclassLoginDirectiveimplementsOnInit{
@Input('appLogin')user=""
constructor(privateVCR:ViewContainerRef,privateTPL:TemplateRef){
/免费云主机域名/在指令的构造函数中将TemplateRef和ViewContainerRef注入成私有变量。
}
ngOnInit(){
if(this.user=='superadmin'||this.user=="admin"){
this.VCR.createEmbeddedView(this.TPL)
}else{
this.VCR.clear()
}
}
}

超级管理员
管理员
普通会员

效果:

二、自定义属性型指令使用属性型指令,可以更改 DOM 元素和 Angular 组件的外观或行为。1、从 @angular/core 导入 ElementRef。ElementRef 的 nativeElement 属性会提供对宿主 DOM 元素的直接访问权限。2、在指令的 constructor() 中添加 ElementRef 以注入对宿主 DOM 元素的引用,该元素就是 appColor 的作用目标。3、向 ColorDirective 类中添加逻辑,在不同输入条件下,背景分别展现为红、绿、蓝

@Directive({
selector:'[appColor]'
})
exportclassColorDirectiveimplementsOnInit{
@Input()appColor=""
constructor(privateele:ElementRef){

}
ngOnInit(){
if(this.appColor=='superadmin'){
this.ele.nativeElement.style.backgroundColor="red"
}elseif(this.appColor=='admin'){
this.ele.nativeElement.style.backgroundColor="green"
}else{
this.ele.nativeElement.style.backgroundColor="blue"
}
}
}

超级管理员
管理员
普通会员
**

效果:以上就是“Angular中如何自定义结构型指令和属性型指令”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注百云主机行业资讯频道。

相关推荐: 如何用C++代码实现简易UDP网络聊天室

这篇文章主要介绍“如何用C++代码实现简易UDP网络聊天室”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何用C++代码实现简易UDP网络聊天室”文章能帮助大家解决问题。NetSrv.cppNetClient.cppw…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 03/08 12:22
Next 03/08 12:27

相关推荐