angular - 继承现有 html 元素的新组件
问题描述
我想创建具有自定义样式和功能的自定义按钮组件。但是我想继承按钮元素的属性,比如禁用。
这样我就可以直接从父级使用它们,而不是输入变量并为每个变量分配它们。
无论如何我可以做到这一点吗?
提前致谢!
解决方案
增加标准 HTML 元素的一种方法是为自定义组件提供属性选择器。例如,以下组件具有属性选择器button[custom-button]
:
@Component({
selector: 'button[custom-button]',
template: '<ng-content></ng-content>',
styleUrls: ['./custom-button.component.css']
})
export class CustomButtonComponent {
...
}
然后,您可以custom-button
在 HTML 按钮上设置属性,该按钮将成为组件的宿主元素:
<button custom-button disabled (click)="onClick()">I am disabled</button>
请参阅此 stackblitz以获取演示。
推荐阅读
- php - 在 Laravel 中将整数和日期列更新为空
- javascript - 查找未处理的承诺拒绝的来源:TypeError:检测到承诺的链接循环
- amazon-web-services - CloudFormation - Tansit 网关的路由表路由传播
- ios - Firebase动态链接,如果安装了应用程序,如何将用户引导到应用程序
- shareandcharge - 无法在 OCN 客户端上发布凭据
- apache-kafka - 如何在 Lagom 服务描述符中覆盖 Kafka topicId
- azure-cognitive-search - 如何动态设置 Azure Search 返回的文档大小?
- excel - 从 Excel 导入时缩进任务
- python - 最大和最小字符
- kubernetes - 如何在 Kubernetes 配置中添加 CATALINA_OPTS=-Djava.awt.headless=true 这个属性