如何使用Dart动态添加样式表? [英] How do I dynamically add a stylesheet using Dart?

查看:173
本文介绍了如何使用Dart动态添加样式表?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我知道在Javascript如何动态添加样式表。
这可以使用下面的代码:

I know in Javascript how to dynamically add a stylesheet. This can be done using the following code:

var sheet = document.createElement('style');

但是当我使用Dart尝试相同的时候( https://www.dartlang.org/ ),如下所示:

But when I try the same using Dart (https://www.dartlang.org/), like this:

CssStyleSheet sheet = document.createElement('style');

然后Dart编辑器告诉我类型Element的值不能分配给

Then the Dart-editor tells me "A value of type Element cannot be assigned to a variable of type CssStyleSheet".

我也尝试过这样:

CssStyleSheet styleSheet = new CssStyleSheet();

但是这给我警告CssStyleSheet类没有默认构造函数

这样:

CssStyleSheet sheet = DomImplementation.createCssStyleSheet('mySheet', '');

无法使用静态访问访问实例成员'createCssStyleSheet'
$ b $bÚ$ b $bÚ
所以我的问题是:如何在Dart中创建一个CssStyleSheet,这样我可以使用 insertRule(rule,index) deleteRule(index)

Gives met "Instance member 'createCssStyleSheet' cannot be accessed using static access".


So my question is: how do I create a CssStyleSheet in Dart, such that I can use methods like insertRule(rule, index) and deleteRule(index)?

关心,

Hendrik

Kind regards,
Hendrik

推荐答案

我尝试它,它为我工作:

I tried it and it worked for me:

import 'dart:html' as dom;

main () {
  dom.document.head.append(new dom.StyleElement());
  final styleSheet = dom.document.styleSheets[0] as dom.CssStyleSheet;
  final rule = 'div { color: blue; }';
  styleSheet.insertRule(rule, 0);
}

这篇关于如何使用Dart动态添加样式表?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆