문제

나는 새로운 중합체 요소를 정의했다.

<polymer-element name="m-test">
  <template>
  ...
  </template>
  <script type="application/dart" src="m-test.dart"></script>
</polymer-element>
.
@CustomTag('m-test')
class Mtest extends PolymerElement {
  @observable int myAttr = 0;
  ...  
void myMethod()
.

속성 myAttr에 액세스하거나 메인 DART 프로그램 에서이 요소의 인스턴스에 대해 myMethod 메소드를 호출 할 수 있습니까?

<m-test id="mt1"></m-test>
<m-test id="mt2"></m-test>
.

도움이 되었습니까?

해결책

마크 업

에서 속성에 액세스 할 수 있습니다.
<m-test id="mt1" my-attr="5"></m-test>
.

또는 코드

querySelector('#mt1').myAttr = 5; // produces a warning in the editor
querySelector('#mt1').myMethod(5); // - " -
(querySelector('#mt1') as Mtest).myAttr = 5; // may fail at runtime due to bug https://code.google.com/p/dart/issues/detail?id=15953
(querySelector('#mt1') as Mtest).myMethod(5); // - " -
.

이벤트 핸들러에 선언적으로 액세스 할 수 있습니다.

void clickHandler(event, detail, target) {
  // handle event
}
.
<polymer-element name="m-test">
  <template>
    <button on-click="{{clickHandler}}">{{myAttr}}</button> // caption from myAttr
  </template>
  <script type="application/dart" src="m-test.dart"></script>
</polymer-element>
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top