كيفية الوصول إلى سمات أو طرق مثيلات عنصر البوليمر

StackOverflow https://stackoverflow.com//questions/21007020

  •  21-12-2019
  •  | 
  •  

سؤال

لقد حددت عنصر بوليمر جديد.

<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 أو استدعاء الطريقة 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