如何在Angular中的运行时添加内部样式表(不是内联)?

时间:2017-07-05 20:05:37

标签: css angular runtime

在我的Angular 4应用程序中,我有一个页面,其内容存储在我服务器上某个URL的JSON(部分CSS定义和部分HTML标记)中。所以我创建了一个shell组件来托管Angular中的内容。

对于HTML,我必须在模板中使用<div [innerHTML]="my_html"></div>,在脚本中使用this.my_html = this.sanitizer.bypassSecurityTrustHtml(my_html);

对于CSS,我试过

  1. <style [innerHTML]="my_css"></style>
  2. <style>{{my_css}}</style>
  3. 使用不同的消毒组合但Angular 总是妥协<style>元素。特别是:

    1. 在这种情况下,它会从模板中删除元素,但不会将其附加到头部。元素消失了。
    2. 在这种情况下,它会从模板中删除元素并将其附加到头部,如<style>{%BLOCK%}</style>。换句话说,元素是无用的。

1 个答案:

答案 0 :(得分:0)

最后,我不得不在$('<style>').text(my_css).appendTo('head');处理程序中使用jQuery ngOnInit(),它运行良好,但感觉不到...... Angular。