我将我的 Angular 更新为4.0.0,将 Chrome 更新为62.0.3202.94,但出现此错误:
并在我的代码中引用clientWidth
或clientHeight
:
document.getElementById(this.ID).clientWidth;
或在这里:
document.documentElement.scrollTop = parseInt(sessionStorage.getItem('scrollPosition'), 10);
浏览器会误解此错误吗?如何解决这个问题?
最佳答案
更新
所有新的浏览器现在都支持::slotted
,并且可以与`ViewEncapsulation.ShadowDom一起使用
https://developer.mozilla.org/en-US/docs/Web/CSS/::slotted
原始
在任何浏览器中不推荐使用/deep/
与Angular完全无关。
Angular重写选择器,以便在加载应用程序时不使用/deep/
或使用较新的替代::ng-deep
。/deep/
和::ng-deep
只是Angular不包含唯一类(如_ngcontent-1
)的提示,Angular在CSS选择器中将其添加到每个组件宿主元素中。
另请参阅https://blog.thoughtram.io/angular/2015/06/29/shadow-dom-strategies-in-angular2.html
关于html - CSS中的/deep/组合器已弃用,并将在M63中删除,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47348983/