分享更有价值
被信任是一种快乐

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

文章页正文上

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

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

@Directive({
selector:'[appLogin]'
})
exportclassLoginDirectiveimplementsOnInit{
@Input('appLogin')user=""
constructor(privateVCR:ViewContainerRef,privateTPL:TemplateRef){
//在指令的构造函数中将TemplateRef和ViewContainerRef注入成私有变量。
}
ngOnInit(){
if(this.user=='superadmi免费云主机、域名n'||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中如何自定义结构型指令和属性型指令”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注云技术行业资讯频道。

相关推荐: jquery如何修改cookie中的一个键值对

本篇内容介绍了“jquery如何修改cookie中的一个键值对”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 创建一个 cookie在创建一个 cookie 之…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册