查看 Encapsulation Emulated,是否可以在样式表中转义模拟封装?
View Encapsulation Emulated, is it possible to escape emulated encapsulation within a stylesheet?
我有一种情况,我正在使用 jQuery 插件来调整 div
的大小。使用模拟视图封装时,此元素未获取样式表中要定位的样式的属性前缀。这是有道理的,因为我在 angular 不知情的情况下修改 DOM(我知道这不是最佳实践)。
从插件创建的元素 - 没有属性
<div class="ui-resizable-handle ui-resizable-e custom-pointer" style="z-index: 90;"></div>
在 angular HTML 中定义的元素 - 具有属性
<div _ngcontent-fav-c294 class="inner-container"></div>
我宁愿对该组件中的所有其他内容继续使用 Emulated ViewEncapsulation,以防止任何样式泄漏。
我想知道我是否可以在没有 ViewEncapsulation 的情况下从我的样式表中定位单个 class?或者如果有人对如何最好地解决这个问题有任何建议?
提前致谢。
这是(已弃用的)::ng-deep
发挥作用的地方:
在您的模板样式表中:
:host ::ng-deep .ui-resizable-handle {
background-color: pink;
}
这将以您的组件中带有 class ui-resizable-handle
的任何子元素为目标,无论它是在模板中声明的、子组件还是动态添加的第三方库,因为这将编译成类似的东西:
[_nghost-fav-c294] .ui-resizable-handle {
background-color: pink;
}
我有一种情况,我正在使用 jQuery 插件来调整 div
的大小。使用模拟视图封装时,此元素未获取样式表中要定位的样式的属性前缀。这是有道理的,因为我在 angular 不知情的情况下修改 DOM(我知道这不是最佳实践)。
从插件创建的元素 - 没有属性
<div class="ui-resizable-handle ui-resizable-e custom-pointer" style="z-index: 90;"></div>
在 angular HTML 中定义的元素 - 具有属性
<div _ngcontent-fav-c294 class="inner-container"></div>
我宁愿对该组件中的所有其他内容继续使用 Emulated ViewEncapsulation,以防止任何样式泄漏。
我想知道我是否可以在没有 ViewEncapsulation 的情况下从我的样式表中定位单个 class?或者如果有人对如何最好地解决这个问题有任何建议?
提前致谢。
这是(已弃用的)::ng-deep
发挥作用的地方:
在您的模板样式表中:
:host ::ng-deep .ui-resizable-handle {
background-color: pink;
}
这将以您的组件中带有 class ui-resizable-handle
的任何子元素为目标,无论它是在模板中声明的、子组件还是动态添加的第三方库,因为这将编译成类似的东西:
[_nghost-fav-c294] .ui-resizable-handle {
background-color: pink;
}