当前位置: 首页 > 面试题库 >

样式不适用于Angular 2 Typescript中的innerhtml

柳翼
2023-03-14
问题内容

我正在将html作为innerHtml传递给我的视图。以下是我的看法

<div [innerHTML]="someHtmlCode"></div>

如果我通过下面的代码,它工作正常。

this.someHtmlCode = "<div><b>This is my HTML.</b></div>"

如果我通过下面的代码,其中包含颜色,则无法正常工作。

 this.someHtmlCode = '<div style="background-color: blue;"><b>This is my HTML.</b></div>';

问题答案:

您得到的这种行为是正常的。添加到的类将innerHTML被忽略,因为默认情况下,封装为Emulated。这意味着Angular会阻止样式在组件内部和外部进行拦截。您应该将封装更改为None。这样,您将可以在任何需要的地方定义类:在styles单独的.css,样式表中(.scss.less无关紧要),Angular会自动将它们添加到DOM中。

import { Component, ViewEncapsulation } from '@angular/core';

@Component({
  selector: 'example',
  styles: ['.demo {background-color: blue}'],
  template: '<div [innerHTML]="someHtmlCode"></div>',
  encapsulation: ViewEncapsulation.None,
})
export class Example {
  private someHtmlCode = '';

  constructor() {
    this.someHtmlCode = '<div class="demo"><b>This is my HTML.</b></div>';
  }
}


 类似资料:
  • 我编写了自己的用户控件,其中包含一个列表视图,并且其 ItemsSource 是设置运行时。我想从用户控件 xaml 设置我自己的 ListViewItem 样式,但我无法让它工作,无论如何,从 App.xaml 设置它完美无缺,所以我想知道为什么? 用户控件 xaml 如下所示: 我想应用的样式是这样的: 我知道当从用户控件本身执行样式时,不会应用该样式,因为在输出窗口中,我看到添加的每个Lis

  • 当屏幕宽度大于700px时,iframe标签的宽度为400px,高度为225px。如果屏幕宽度小于700px,那么iframe标签的宽度将是屏幕的50%,高度将是屏幕的28.13%。 我试过用这个代码。但不管用。 问题出在哪里?

  • 问题内容: 我想在带有jquerymobiles按钮的input [type =“ submit”]按钮上使用我的自定义样式,但是它不起作用。我的html代码是: 我的CSS代码是: 当我使用以下html代码时,将应用相同的样式: 问题答案: jQuery Mobile> = 1.4 创建一个自定义类,例如。请注意,要覆盖jQM样式而不使用,应遵循CSS层次结构。或。 一个添加到。自定义类将添加到

  • 在通过WebView显示的超文本标记语言文件中使用Google字体,如果字体样式设置为斜体字,字体不会呈现斜体。 字体权重也是如此。将其设置为粗体,文本呈现正常。 这似乎只适用于这些自定义字体,“系统”字体(如Arial)在设置时呈现粗体和斜体。 我已经使用ADB从设备中提取文件并在本地运行,在Chrome中,它们显示正确,粗体和斜体。

  • E立方管理平台适用于任何组织,现在使用它的组织包括:军队,政府,企业单位,事业单位,慈善机构。 这么说吧,只要用得到EXCEL的地方,就用得到E立方管理平台,特别是需要共享EXCEL中的信息的组织,更需要E立方管理平台的网络功能,以实现协同办公的要求。 在E立方管理平台客户中,有同时千人在线的大型企业,也有只需一人用户的小单位。