Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 渲染角度材质控件时缺少样式_Angular_Angular Material - Fatal编程技术网

Angular 渲染角度材质控件时缺少样式

Angular 渲染角度材质控件时缺少样式,angular,angular-material,Angular,Angular Material,我正在使用角度渲染引擎渲染材质组件。但是当我渲染控件时(在我的例子中是Cards=>mat card),它们没有任何样式。因此,预构建主题(节点模块\@angular\material\prebuilded themes)附带的所有内容 ). 当我手工添加卡片时=> <mat-card> test</mat-card> 所以问题是,我如何告诉angular它必须向页面添加样式 下面是我用来创建控件的完整代码 var matCard = renderer.create

我正在使用角度渲染引擎渲染材质组件。但是当我渲染控件时(在我的例子中是Cards=>mat card),它们没有任何样式。因此,预构建主题(节点模块\@angular\material\prebuilded themes)附带的所有内容 ).

当我手工添加卡片时=>

<mat-card> test</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);
谢谢你的帮助 迈克尔获得了冠军

解决方案是在我的项目中将角度材质组件打包到自己的包装器组件中,然后创建包装器组件。然后样式总是可用的,我可以在组件中添加我自己的附加功能,如验证


因此,对于我的项目,我现在为我使用的每个材质设计组件提供了一个组件

为什么不直接使用
*ngFor
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);