2013-09-24 4 views
2

나는 Button click in polymer dart does not work; needs polymer-element다트 통과 데이터는

그러나 그러나 폴리머 요소에 데이터를 전달하는 방법에 대한이 스레드를 읽고)를 polymer.dart에 넣으면 래핑 템플릿이 없습니다. 위에 언급 한대로 데이터를 전달하려면 어떻게해야합니까?

Btw, 비록 내가 다트가 정말 멋진 언어라고 생각 하긴하지만 (나는 자바 스크립트를 싫어한다.) 다트의 폴리머가 아직 준비되지 않은 것 같습니다. 많은 것들은 문서화되어 있지 않으며 예제를 통해 가거나 여기에 묻어야합니다.

덕분에, 이순신

답변

0

여기에 내가 동적으로 생성 된 사용자 정의 폴리머 요소에 데이터를 전달하는 방법에 내 예입니다. 제 의도는 "a href"를 클릭하고 컨테이너 div에 폴리머 요소를로드하는 것입니다.

polymer_element.html

<polymer-element name="my-element"> 
    <template bind> 
    <p> {{ mytext }} </p> 
    </template> 
    <script type="application/dart" src="polymer_myelement.dart"></script> 
</polymer-element> 

polymor_element.dart

import 'dart:html'; 
import 'package:polymer/polymer.dart'; 
import 'package:custom_element/custom_element.dart'; 

@CustomTag('polymer-myelement') 
class MyElementElement extends PolymerElement with ObservableMixin { 

    bool get applyAuthorStyles => true; 

    @observable String mytext = "initial text"; 

    void start() { 

    query('#a href to click').onClick.listen((MouseEvent event){ 
     query('.container').children.clear(); 
     var myElem = createElement('polymer-myelement'); 

     MyElementElement myel = myElem.xtag; 
     myel.mytext = "i changed the text now or import w/e you want"; 

     query('.container').children.add(myElem); 

    });  
    } 
} 

main() { 
    MyElementElement el = new MyElementElement(); 
    el.start(); 
} 

index.html을

<head> 
    <link rel="import" href="polymer_myelement.html"> 
    and everything you need ... 
</head> 
<body> 
    <a href to click>click me for new text</a> 
    <div class="container"> 
    <!-- START OF MAINCONTAINER --> 

    <!-- END OF MAINCONTAINER --> 
    </div> 
</body> 
그래서 여기

설명입니다 : 난 그냥) (내 주에서 내 start() 함수를 실행하고 내 탐색 막대 href에 대한 onclickListener. 지금 내 href를 클릭하면, 나는 "div class ="container "에있는 모든 자식을 지 웁니다. 왜냐하면 저는 항상 폴리머 요소를 삽입하기 전에 명확한 div가 필요하기 때문입니다. "createElement ('polymerMyElement 객체를 만들고 폴리머 요소 "xtag"를 할당하십시오. 이제 모든 속성에 액세스 할 수 있고 변경할 수 있습니다. 작성한 요소를 div에 추가하기 만하면됩니다. . 여기에 새로운 데이터를 할당, 당신은 단지 동적 폴리머 요소를 생성

을 수행하고

+0

감사합니다. 그것은 효과가있다. 나는 그것이 어디서나 문서화되는 것이 궁금하다. –

1

난 당신이 시작()을 제거해야한다고 생각 당신의 index.html을에서 볼 - MyElementElement 수준에서 기능을 추가합니다 그것은 상층에있다. lly 상위 요소에 대한 사용자 지정 요소에 대한 참조가 없어야합니다. 이제 사용자 정의 요소는 재사용 할 수 없으며이 컨텍스트 내에서만 작동합니다.