2014-08-31 6 views
1

웹 요소에서 일부 데이터를로드해야하는 폴리머 요소가 있습니다.다트 폴리머 요소의 클래스로 클래스 사용

<gallery-pol loader=""></gallery-pol> 

@CustomTag('gallery-pol') 
class PolymerGallery extends PolymerElement { 
    @published GalleryDataLoader loader; 
    ... 
} 

특정 웹 서비스에 고정해서는 안되기 때문에 폴리머 요소에 데이터로드를 구현하고 싶지 않습니다.

실제 데이터로드를 구현하는 객체를 폴리머 요소에 전달하는 가장 좋은 방법은 무엇입니까?

메인 프로그램에서 내 요소를 선택하고 로더에 요소를 지정해야합니까? 또는 속성으로 직접 전달할 수있는 방법이 있습니까?

내가 너무 사용자 지정 요소로 로더를 모델링 고려할 것 lolsharp

+0

아무 문제가 없어도'loader' 속성을 사용하여 로더를 지정할 수 있습니다. 어디에서 또는 어떻게 로더를 통과 하시겠습니까? 코드'(querySelector ('gallery-pol'))를 PolymerGallery로 사용하고 싶습니까? .loader = loader;'? 아니면 ''요소가 그림자 DOM에있는 ''을 가지고 있습니까? 로더 구현을 사용해야하는 위치는 어디에서 정의합니까? –

+0

http://stackoverflow.com/questions/24964885에 예를 게시했습니다. –

답변

2

, 감사합니다. 여기에서 의사 소통 방법에 대한 몇 가지 옵션이 있습니다. a의 맥락에서

<z-gallery-view> 
    <z-gallery-loader id="loader"></z-gallery-loader> 
    <z-gallery loader="{{ $['loader'] }}"></z-gallery> 
</z-gallery-view> 

$[] : 요소는 쿼리/IDS를 통해 서로를 찾을 수 있습니다

<z-gallery> 
    <z-gallery-loader></z-gallery-loader> 
</z-gallery> 

또는 바인딩 :

하나는 갤러리 아이로 로더를 찾을 수있다 <z-gallery-view> 폴리머 요소는 id로 내용을 찾습니다. 어쩌면 좀 더

<z-gallery-loader on-load-gallery="{{ loadGallery }}"> 
    <z-gallery></z-gallery> 
</z-gallery-loader> 

<z-gallery>는 '로드 갤러리'해고 할 수있는 (또는 : 당신은 또한 ID 문자열에 결합 할 쿼리를 직접 수 :

<z-gallery-view> 
    <z-gallery-loader id="loader"></z-gallery-loader> 
    <z-gallery loader="loader"></z-gallery> 
</z-gallery-view> 

다른 방법은 이벤트를 통해 의사 소통을하는 것입니다 사용자 작업 중심 이벤트) 맞춤 이벤트를 사용하여로드 할 데이터를 요청하고 이벤트 대상으로 포함되어 있으므로 작업자가 작업을 수행하고 데이터를 갤러리로 다시 보낼 수 있습니다. 당신은 거기에 포함 관계를 원하지 않는 경우

, 당신은 로더 이벤트를 트리거 다른 부모 요소를함으로써 이벤트를 리디렉션 할 수 있습니다 :

<z-gallery-view on-load-gallery="{{ loadGallery }}"> 
    <z-gallery-loader></z-gallery-loader> 
    <z-gallery></z-gallery> 
</z-gallery-view> 

어디 로더 아이에게이 경우 loadGallery 위임한다.

관련 문제