나는 고분자 프로젝트를 스캐 폴딩하는 (버전 0.16.0) 고분자 CLI를 사용 있지만 콘솔을 사용하여 그림자 루트에 액세스 할 수 없습니다 : 그림자 DOM이 폐쇄 모드에 마치도록어떻게 내가 shadowRoot에 액세스 할 수 있도록 shadow dom으로 폴리머 맞춤 요소를 만들 수 있습니까?
var element = document.getElementsByTagName("my-app")[0].shadowRoot
반환 정의되지 않은.
사용자 정의 요소가 외부에서 shadowRoot에 액세스 할 수 있도록 열린 모드를 사용하도록하려면 어떻게해야합니까?
편집 2 :
참고로 : 여기에 주요 질문은 그래서 약간은
편집 그림자 DOM 모드와 관련되지 않을 수있는 질문을 변경 한 shadowRoot에 액세스하기 위해 수행해야 할 것입니다 https://developers.google.com/web/fundamentals/getting-started/primers/shadowdom#advanced 고급 주제 섹션에 근접 모드
단계 재현하는 시나리오 :
npm install -g polymer-cli
mkdir my-app
cd my-app
polymer init starter-kit
polymer serve --open
개 일부 코드 조각 :
index.html을 :
내-app.html :
...
<dom-module id="my-app">
<template>
...
</template>
<script>
Polymer({
is: 'my-app',
properties: {
page: {
type: String,
reflectToAttribute: true,
observer: '_pageChanged'
}
},
observers: [
'_routePageChanged(routeData.page)'
],
_routePageChanged: function(page) {
this.page = page || 'view1';
},
_pageChanged: function(page) {
// Load page import on demand. Show 404 page if fails
var resolvedPageUrl = this.resolveUrl('my-' + page + '.html');
this.importHref(resolvedPageUrl, null, this._showPage404, true);
},
_showPage404: function() {
this.page = 'view404';
}
});
</script>
</dom-module>
당신은 몇 가지 코드 – a1626
개방 및 폐쇄 모드는 무엇을 추가 할 수 있습니까? –
Firefox에서 그림자 DOM을 폴리올로 채우려면 그림자 DOM 폴리필을 포함하지 않는 webcomponents-lite.js 대신 webcomponents.js를 다운로드해야합니다. – Supersharp