我正在使用角度渲染引擎来渲染材质组件。但是当我呈现控件(在我的case Cards => mat-card中)时,它们没有任何样式。所以prebuilt-themes(node_modules\@angular\material\prebuilt-themes自带的所有东西)。

当我手动添加卡片时,=>
<mat-card> test</mat-card>并在渲染过程中设置类属性,它工作于=>
renderer.setAttribute(matCard , "class", "mat-card");

所以问题是,我如何告诉angular它必须将样式添加到页面?
下面是我用来创建控件的完整代码
var matCard = renderer.createElement('mat-card');
renderer.setAttribute(matCard , "class", "mat-card");
const matCardInner = renderer.createText('Dynamic card!');
renderer.appendChild(matCard, matCardInner);
const container = targetEl.nativeElement;
renderer.appendChild(container, matCard);谢谢你的帮助,迈克尔
发布于 2018-10-30 21:33:25
拿到answer on Github了。
解决方案是在我的项目中将角度材质组件打包到自己的包装器组件中,然后创建包装器组件。然后,样式总是可用的,我可以添加我自己的附加功能,比如在组件中进行验证。
因此,对于我的项目,我现在使用的每个材料设计组件都有一个组件。
https://stackoverflow.com/questions/48789580
复制相似问题