2016-12-10 19 views
5

Polymer 1.x sử dụng Shady DOM theo mặc định, nhưng điều đó có thể thay đổi lúc khởi tạo bằng cách thiết lập các đối tượng window.Polymer trước khi nhập polymer.html như sau:Làm cách nào để bật Shady DOM trong Polymer 2.0?

<script>window.Polymer = {dom: 'shadow'};</script> 
<link rel="import" href="polymer.html"> 

Tuy nhiên, có vẻ như Polymer 2.0 sử dụng DOM bóng bất kể window.Polymer = {dom: 'shady'}. Làm cách nào để chuyển sang Shady DOM?

Trả lời

10

Shady DOM shim là factored out of Polymer in 2.0 và được chuyển vào phần tử đa thành phần Web v1.

Để kích hoạt Shady DOM (thay vì mặc định bóng DOM), xác định các đối tượng window.ShadyDOM sau đây trước khi nhập khẩu các v1 webcomponents-lite.js:

<script>window.ShadyDOM = { force: true };</script> 
<script src="webcomponentsjs/webcomponents-lite.js"></script> 

codepen

UPDATE: Một thiết lập đơn giản hơn là chỉ định [shadydom] trên thẻ <script>:

<script src="webcomponentsjs/webcomponents-lite.js" shadydom></script> 

codepen

+0

điều này có ảnh hưởng gì đến hiệu suất? – Gilberg

+2

Tôi giả định điều này sẽ buộc tất cả các thành phần web được nhập để sử dụng DOM mờ ám trên bóng DOM. Có cách nào để buộc một thành phần hoặc một phần tử bên trong một thành phần sử dụng DOM mờ ám không? –

Các vấn đề liên quan