class
中baseClass
与_WidgetBase
之间的实际差异是什么?
它们都会将类添加到窗口小部件的顶部节点。据说baseClass用于窗口小部件中的“状态更改”。但是,关于制作小部件的Dojo教程建议人们在模板中使用$ {baseClass}:
<div class="${baseClass}">
<div class="${baseClass}Title" data-dojo-attach-point="titleNode" data-dojo-attach-event="onclick:_onClick"></div>
</div>
我想知道在我的每个小部件中是否都有一点我完全没有。
谢谢!
Merc的。
答案 0 :(得分:4)
查看许多dijit小部件使用的类_CssStateMixin.js
。 class
属性只是一个自动应用于窗口小部件domNode
的css类列表。另一方面,baseClass
将用于创建“内置”css类,这些类在窗口小部件状态发生变化时应用(例如,活动,悬停,聚焦等)。
选择dijit/form/Button
。它的baseClass是dijitButton
。当按钮悬停时,窗口小部件将自动添加css类dijitButtonHover
。当用户不再悬停按钮时,将自动删除css类。
如果您将baseClass
更改为myButtonClass
之类的内容,则自动应用的悬停状态类将为myButtonClassHover
。这允许小部件作者轻松地为小部件的各种状态编写css规则,而无需在小部件本身内手动添加类或更改样式。