我正在使用角度渲染引擎来渲染材质组件。但是当我渲染控件时(在我的例子中,Cards => mat-card),他们没有任何风格。所以预装主题附带的一切(node_modules \ @angular \ material \ prebuilt-themes )。
当我手动添加卡片时>>
<mat-card> test</mat-card>
在渲染过程中设置类属性它的工作原理=&gt;
renderer.setAttribute(matCard , "class", "mat-card");
所以问题是,如何判断角度是否必须将样式添加到页面?
以下是我用来创建控件的完整代码
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);
感谢您的帮助 迈克尔
答案 0 :(得分:1)
得到了answer on Github。
解决方案是在我的项目中将棱角材料组件包装到自己的包装器组件中,然后创建包装器组件。这样,样式就始终可用,并且我可以在组件中添加自己的其他功能,例如验证。
因此对于我的项目,我现在为我使用的每个材料设计组件都有一个组件。