1
如何动态地将* ngIf添加到用属性指令装饰的元素中?在指令中动态添加* ngIf
对于一个简单的实验,我尝试这样做:
@Directive({
selector: '[lhUserHasRights]'
})
export class UserHasRightsDirective implements OnInit, OnDestroy {
constructor(private el: ElementRef) {
}
ngOnInit(): void {
this.el.nativeElement.setAttribute("*ngIf", "false");
}
...
,但没有奏效。浏览器给我一个错误“错误抛出:DOMException:未能执行的‘元素’‘的setAttribute’:‘ngIf’是不是有效的属性名称。”
而不是添加* ngIf,如何通过指令更改CSS显示或可见性属性? – Vega
与vega一致,不可能向Dom动态添加结构指令。它必须被直接添加。利用'[hidden]' –
@RahulSingh由于问题明确指出试图作为'* ngIf',我不确定使用'[hidden]'是否正确。隐藏该元素只会将其从呈现的页面中移除,而不会将其从浏览器的“查看页面源”工具中看到。如果元素包含敏感信息,这将不合适。 –