【发布时间】:2018-07-11 05:16:17
【问题描述】:
我在 angular5 应用程序中到处使用 angular-material 库,但我不希望它的指令/组件/类名称出现在我的标记中,我更愿意对外部库保持不可知论。但是,我尝试做这样的事情:
import { Directive,
ElementRef,
Renderer,
Renderer2 } from "@angular/core";
import { MatButton } from "@angular/material";
import { OnInit } from "@angular/core";
import { Platform} from "@angular/cdk/platform";
import {FocusMonitor} from "@angular/cdk/a11y";
@Directive({
selector: '[my-button]'
})
export class MyButtonDirective extends MatButton {
ngOnInit(): void {
}
constructor(renderer: Renderer2, elementRef: ElementRef, _platform: Platform, _focusMonitor: FocusMonitor) {
super(renderer, elementRef, _platform, _focusMonitor);
}
}
但是当我应用my-button 属性时,它似乎没有任何效果。即使来自指令构造函数/onInit 内部的console.logs 也不会打印。我不确定自己做错了什么,因为我以前从未在 Angular 中使用过指令。
【问题讨论】:
-
当你的指令有
my-button选择器时,你为什么要应用ubi-button属性? -
哦,抱歉,我是想输入我的按钮,我更改了这篇文章的前缀,但在这里输入了错误的前缀
标签: angular angular-material angular5 angular-directive