今天小编给大家分享一下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网络聊天室”文章能帮助大家解决问题。NetSrv.cppNetClient.cppw…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。