2015-10-15 66 views

回答

2

我似乎已經回答了我自己的問題。我忘了shadowRoot。在從舊版Polymer Dart遷移到Polymer Dart 1.0.0時,我不得不刪除對shadowRoot的任何引用,因爲它們爲空。如果shadowRoot爲null,那麼您使用的是陰影DOM,否則是陰影DOM。這個方法可以在元素內部工作。

... 
bool usesShadowDOM() { 
    return shadowRoot != null; 
} 
... 

我測試了,既

<script> 
    ... 
    Polymer.dom = 'shadow'; 
    ... 
</script> 

<script> 
    ... 
    Polymer.dom = 'shady'; 
    ... 
</script> 

,似乎這樣做,我也想工作。

3

我不知道官方的方式,但可以使用document.querySelector('some-shadowed-element')來查詢已知隱藏在自定義元素的陰影DOM中的元素,以及是否發現使用了陰影DOM,否則就是陰影DOM。

您不應該在應用程序中區分陰影和陰影DOM。如果您使用適當的API來操作您的內容(new PolymerDom(...)...),那麼您的元素應該可以在兩種模式下工作。

+0

是的,這是另一個角度,我不得不看看做。感謝那。 –

相關問題