你如何动态地改变一个mixin。我想这样调用less文件:
.sprite-resize(facebook);
然后我尝试像这样设置我的混音:
.sprite-resize(@file) {
@ret: '@sprite-retina-@{file}';
@norm: '@sprite-@{file}';
.sprite-ret(@ret);
.sprite-norm(@norm);
}
.sprite-ret(@ret) {
@sprite-image: ~`"@{ret}".split(', ')[8].slice(1, -2)`;
background-image: url(@sprite-image);
}
.sprite-norm(@norm) {
.lt-ie9 & {
@sprite-image: ~`"@{norm}".split(', ')[8].slice(1, -2)`;
background-image: url(@sprite-image);
}
}
// The @sprite- and @sprite-retina values are automatically generated for me by a grunt plugin: "grunt-spritesmith": "~1.23.0"
@sprite-facebook: 425px 142px -425px -142px 24px 24px 453px 410px '/@{images-dir}/spritesheet-icons159.png';
@sprite-retina-facebook: 25px 147px -25px -147px 24px 24px 209px 189px '/@{images-dir}/spritesheet-icons-retina159.png';
但是当我构建时我不断收到错误:“无法调用未定义的方法'切片'。”
知道如何调用像“facebook”这样的名称并同时运行 mixin 的视网膜和非视网膜版本吗?