【问题标题】:How to remove WebStorm sass-lint error "Unknown pseudo selector 'ng-deep'"如何删除 WebStorm sass-lint 错误“未知的伪选择器 'ng-deep'”
【发布时间】:2018-01-11 13:09:13
【问题描述】:

在 WebStorm 中带有 scss 和 ::ng-deep 的 Angular 2+ 使用文本“Unknown pseudo selector 'ng-deep'”突出显示此选择器

我尝试了类似的方法:

selector-pseudo-class-no-unknown: true
  ignorePseudoClasses: ng-deep

or

selector-pseudo-class-no-unknown: false

这些都不行。

如何在 scss-lint.yml 中为这个伪选择器设置异常?

【问题讨论】:

标签: css angular angular-components scss-lint


【解决方案1】:

::ng-deep 是伪元素,不是伪类。 这在我的 .stylelintrc 中是等价的

{
  "rules": {
    "selector-pseudo-element-no-unknown": [true, {
      "ignorePseudoElements": ["ng-deep"]
    }]
  }
}

您还需要取消选中 Settings -> Inspections -> CSS -> Invalid Elements -> Invalid CSS pseudo selector

【讨论】:

    【解决方案2】:

    在 Angular 4.x 中,您可以使用 /deep/ 代替 ::ng-deep

    UPD 14.05.2018

    来自 angular.io 的引用:

    不推荐使用穿透阴影的后代组合器,并且正在从主要浏览器和工具中删除支持。因此,我们计划放弃对 Angular 的支持(对 /deep/、>>> 和 ::ng-deep 的所有 3 个)。在此之前 ::ng-deep 应该是首选,以便与工具更广泛地兼容。

    所以基本上你不应该使用其中任何一个,因为 Angular 团队将停止支持此功能。

    【讨论】:

    猜你喜欢
    • 2020-09-01
    • 1970-01-01
    • 2019-04-24
    • 2023-01-23
    • 2010-09-12
    • 2011-11-01
    • 2017-12-17
    • 2015-03-19
    • 2013-06-15
    相关资源
    最近更新 更多