Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Inheritance 如何在手写笔中进行部分导入_Inheritance_Import_Extend_Partial_Stylus - Fatal编程技术网

Inheritance 如何在手写笔中进行部分导入

Inheritance 如何在手写笔中进行部分导入,inheritance,import,extend,partial,stylus,Inheritance,Import,Extend,Partial,Stylus,如何在手写笔中实现部分导入(扩展、包含、继承)? 例如,我有两个文件: foo.stylbody{color:orange}a{color:blue} 柱状图 在文件bar.styl中,我希望放置body{color:orange}来自foo.styl但不希望a{color:blue} 它是如何实现的?在触控笔中还没有这样的东西。可以使用以下技巧: $foo @import 'test2' body @extends $foo body 但是手写笔有一个错误:-阻止它正确渲染。此

如何在手写笔中实现部分导入(扩展、包含、继承)?
例如,我有两个文件:

  • foo.styl
    body{color:orange}a{color:blue}

  • 柱状图

在文件
bar.styl
中,我希望放置
body{color:orange}
来自
foo.styl
但不希望
a{color:blue}

它是如何实现的?

在触控笔中还没有这样的东西。可以使用以下技巧:

$foo
  @import 'test2'

body
  @extends $foo body
但是手写笔有一个错误:-阻止它正确渲染。此错误在Stylus 0.49.0中已修复,因此如果您使用此版本或更高版本,一切都应该正常

由于只有当您尝试使用
@extends
的选择器与嵌套选择器匹配时,问题才会发生,因此您可能会在某种程度上欺骗手写笔,使其认为选择器不同。最简单、最简单的方法是这样写:

$foo
  @import 'test2'

* > body
  @extends $foo body
这将使手写笔不认为这些选择器相等,并正确地输出
*>正文。虽然星形选择器通常是有害的,但在这种情况下并非如此:因为它位于左侧,并且有一个子组合符,所以当选择器匹配发生时,它不会导致性能问题,并且因为星形选择器没有任何特定性,所以它不会干扰给定规则的特定性


但是,如果您可以稍等,我们可以尝试修复Stylus中的此错误,以便您可以在下一个版本中使用此答案开头的修复代码。

非常感谢!我现在将尝试解决方法,并将等待新版本。抱歉,不。它不起作用。它之所以有效,是因为最后的评论:(我刚刚意识到了这一点。但当我删除它时,它就停止了工作。>>>7 |@extends$foo.{prefix}#social>>>>>无法读取未定义的属性“type”
grunt contrib stylus
这有意义吗?插值在
@extends
上无法完美工作,因此最好在插值中执行所有操作,例如:
@extends{'$foo.%s#social'%prefix}
。此外,答案中提到的bug的修复程序已经在Stylus 0.49.0中,因此如果您将Stylus更新到此版本,它应该可以在没有解决方法的情况下工作。好的,但它没有在中描述,因此我无法知道一些其他内容,例如-如何从
a{color:red;padding:50px;}复制
color
。只对部分继承感兴趣。非常感谢!