Polymer 聚合物存取根元件

Polymer 聚合物存取根元件,polymer,Polymer,我在学聚合物。我一直在尝试将聚合物集成到现有页面中。为了做到这一点,我有以下几点: <body> <div class="row"> <div class="col-sm-8"> <template is="dom-bind" id="app"> <iron-signals on-iron-signal-update-greeting="_updateGreeting">

我在学聚合物。我一直在尝试将聚合物集成到现有页面中。为了做到这一点,我有以下几点:

  <body>
    <div class="row">
      <div class="col-sm-8">
        <template is="dom-bind" id="app">
          <iron-signals on-iron-signal-update-greeting="_updateGreeting">
          <div>[[ greeting ]]</div>
        </template>
      </div>

      <div class="col-sm-4">
        <button type="button" click="testClick();">Test</button>
      </div>
    </div>

    <script type="text/javascript">
      function testClick() {
        this.fire('iron-signal', { name: 'updateGreeting', data: { value: 'Hello at ' + (new Date().getMinutes()) } });
      }
    </script>
  </body>

我明白为什么我会出错。但是,我想我不知道如何获得对实际聚合物对象的引用,以便调用
fire
函数。

您需要等待聚合物升级元素。看


当您在一个元素中执行此操作时,您的代码在准备就绪之前不会被调用。在外面你必须照顾好自己

您需要等待聚合物升级元素。看


当您在一个元素中执行此操作时,您的代码在准备就绪之前不会被调用。在外面你必须照顾好自己

即使在等待WebComponentsReady时,
this.fire(…)
仍会导致
this.fire不是函数错误。我明白了
fire()
是聚合物元素的一种功能。如果代码未在元素内运行,
fire()
不可用。您可以改用
dispatchEvent()
。这取决于你真正想要实现什么。您还可以
querySelector()
一个聚合元素,并对该元素调用
fire()
。即使在我等待WebComponentsReady时,
this.fire(…)
仍会导致
this.fire不是函数
错误。我明白了
fire()
是聚合物元素的一种功能。如果代码未在元素内运行,
fire()
不可用。您可以改用
dispatchEvent()
。这取决于你真正想要实现什么。您还可以
querySelector()
一个聚合元素,并对该元素调用
fire()
this.fire is not a function