这里是我当前的按钮实现:
import { Component } from '@angular/core';
import { MatButtonModule } from '@angular/material/button';
@Component({
selector: 'button[m-primary-btn]',
template: '<ng-content></ng-content>',
styleUrls: ['./button.component.scss'],
standalone: true,
imports: [MatButtonModule],
host: {
'class': 'primary'
}
})
export class PrimaryButtonComponent {}
您可以在OnInit或组件主机中手动添加属性 在下面尝试用作主机
@Component({
selector: 'button[m-primary-btn]',
template: `<ng-content></ng-content>`,
styleUrls: ['./m-primary-btn.component.scss'],
standalone: true,
imports: [MatButtonModule],
host: {
'class': 'mat-flat-button',
'[attr.mat-flat-button]': "''",
'[attr.color]': 'color',
},
})
export class MPrimaryBtnDirective {
@Input() color: 'primary' | 'accent' | 'warn' = 'primary';
}