在 Dojo/Dijit 中动态加载 CSS?

Posted

技术标签:

【中文标题】在 Dojo/Dijit 中动态加载 CSS?【英文标题】:Dynamic loading of CSS in Dojo/Dijit? 【发布时间】:2014-06-18 14:02:10 【问题描述】:

教程"Creating a custom widget" 提出了一个dijit 小部件的目录结构,其中包括“css”目录。示例中的所有其他内容都是使用 AMD 动态加载的,而不是 CSS。作者写道:

现在,有了这些,我们只需要将 CSS 添加到我们的头部 我们的页面,我们有一个更好看的作者列表!

但是,Dojo/Dijit 是否有不需要将所有可能的 CSS 内容放入 html HEAD 或一些聚合 CSS(导入)的机制?

可以简单地将部分添加到标题中,但首先需要检查它是否已经加载,并且可能等待 CSS 加载。是否有一些内置解决方案可以制作这些东西?

【问题讨论】:

【参考方案1】:

见http://davidwalsh.name/amd-xstyle和https://github.com/kriszyp/xstyle#amd-plugin-loader

一个简单的用法示例,直接来自文档:

define(["xstyle!./path/to/file.css"], function()
    // module starts after css is loaded
);

过去在将其与 Dojo 构建相结合时存在一些问题。然而,@kriszyp 现在似乎已经很好地记录了这些东西 - https://github.com/kriszyp/xstyle#building-with-amd-plugin

【讨论】:

所以它即将在代码中放置require(['xstyle/css!path/to/stylesheet.css'], function()),并且一切都由xstyle模块透明地完成?您可以在答案中包含一些使用示例,如果链接停止运行,答案充其量应该仍然有效。 @Łukasz웃Lツ - 以上有帮助吗?

以上是关于在 Dojo/Dijit 中动态加载 CSS?的主要内容,如果未能解决你的问题,请参考以下文章

在dijit的图标按钮的点击加载的dijit日历的具体日期禁用

dojo dijit 额外模板连接事件

如何使用 Struts2 框架向 Dojo 树提供 JSON 数据

Dojo/Dijit - 如何在布局控件上允许垂直滚动

在Dojo Dijit中填充的依赖组合框?

在Dijit销毁小部件