我一直在使用我认为非常优雅的模式来定义可重用组件/小部件的样式,使用 LESS。它在 LESS 1.3 中运行良好,但最近升级后,我的整个库都坏了。有谁知道在 1.4+ 中完成这样的事情的方法?
这是一个非常简单的组件示例:
#componentName {
.loadMixins(){
.text() {}
.header() {}
}
.apply(){
> h3 {
// markup-specific styles
padding: 3px;
margin-bottom: 0;
// custom styles
.header();
}
> div.body, > div.popup p {
color: red;
// custom styles
.text()
}
}
}
以下是它的使用方法:
.coolWidget {
#componentName.loadMixins();
// override mixins here
.text(){
color: green;
}
#componentName.apply();
}
这使所有依赖于标记的样式从用户那里抽象出来。我可以完全改变我的标记并且用户的样式仍然有效。根据less.js 更改日志,1.4.0 Beta 1 有一行“mixin 中的变量不再‘泄漏’到它们的调用范围内”
有没有办法解决?