css - 在 Angular 7 中注入(inject)的 html 中分配 css 类

标签 css angular angular7

我想根据一些计算分配 css 类。这是我的组件类:

@Component({
  selector: 'app-render-json',
  template: `<div [innerHtml]="html | safeHtml"></div>`,
  styleUrls: ['./render-json.component.css'] , encapsulation: ViewEncapsulation.ShadowDom
})

export class RenderJsonComponent {
  @Input() myJson: any;
  html = ``;
  static levelDeep = 1
  
  ngOnInit() {
    this.renderJson(this.myJson)
  }
  
  renderJson(obj) {
    RenderJsonComponent.levelDeep = RenderJsonComponent.levelDeep + 1
		for(var key in obj) {
      if(key != 'id') {
        this.html = this.html + `<div class="col-md-${RenderJsonComponent.levelDeep}  col-md-offset-${RenderJsonComponent.levelDeep}">${obj[key]}</div>`
        // This does not work but I want to do something like this
      }
		}
	}
}

基本上,我需要使用偏移类通过 Bootstrap 以 GRID 样式呈现一些 JSON,但这在某种程度上不起作用。感谢您的帮助。

最佳答案

@Component({
  selector: 'app-render-json',
  template: `<div [innerHtml]="safeHtml"></div><div *ngFor="jsonElements as element" class="element.class">element.obj</div>`,
  styleUrls: ['./render-json.component.css'] , encapsulation: ViewEncapsulation.ShadowDom
})

export class RenderJsonComponent {
  @Input() myJson: any;
  myLevelDeep = 1;
  jsonElements = [];

  ngOnInit() {
    this.renderJson(this.myJson)
  }

  renderJson(obj) {
    this.myLevelDeep = RenderJsonComponent.levelDeep + 1
        for(var key in obj) {
      if(key != 'id') {
        jsonElements.push({class:"col-md-" + this.myLevelDeep + " col-md-offset-" + this.myLevelDeep, obj: obj[key]});
      }
        }
    }
}

关于css - 在 Angular 7 中注入(inject)的 html 中分配 css 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54594745/

相关文章:

css - 修复容器内表格的标题位置

javascript - 更改 gltf 对象颜色的问题

javascript - 三元运算符在 Angular 中不起作用

node.js - Angular 7 应用程序从 Angular 客户端获取 CORS 错误

angular-material - 如何删除空间底部垫形式字段

javascript - 如何动态设置填充并在不刷新的情况下显示?

css - 如何正确加载字体

Angular Chart.js - 删除 Moment.js 作为依赖项/减少包大小

HTML + CSS 在 mat-icon 的中心对齐上失败

angular - 共享模块中未使用的组件是否会减慢我的应用程序?