如何在单击按钮时填充聚合物下拉菜单?

How to populate polymer-dropdown-menu on click of a button?

我的 HTML 页面中有一个 polymer-dropdown-menu 元素,如下所示:

   <script src="http://www.polymer-project.org/platform.js"></script>
<link rel="import" href="http://www.polymer-project.org/components/polymer/polymer.html">
<link rel="import" href="http://www.polymer-project.org/components/paper-button/paper-button.html">
<link rel="import" href="http://www.polymer-project.org/components/paper-dropdown-menu/paper-dropdown-menu.html">
    <link rel="import" href="http://www.polymer-project.org/components/paper-dropdown/paper-dropdown.html">
 <link rel="import" href="http://www.polymer-project.org/components/core-menu/core-menu.html">  
 <polymer-element name="sample">
     <template>
         <div>
<paper-dropdown-menu id="Combo" label="Process">
    <paper-dropdown class="dropdown">
        <core-menu class="menu">
            <template repeat="{{processlist}}">
                <paper-item>{{}}</paper-item>
            </template>
        </core-menu>
    </paper-dropdown>
</paper-dropdown-menu>
         </div>
         <div>
             <paper-button id="start_button" raised>Start</paper-button>   
         </div>         
         </template>

  <script>
  Polymer({
    created: function() {    
    },
    domReady: function() {
      this.processlist = ["hi","hello"];                   
      var self = this;
      this.$.start_button.addEventListener('click', function () {  
       this.processlist=["hey","how","are","you"];        
      });
      });
    }
  }); 
  </script>
     </polymer-element>

我需要通过单击按钮来填充进程列表。我在我的按钮的事件侦听器函数中编写代码来更新进程列表,但这不起作用。

我可以显示静态值数组,但不能在单击按钮时动态显示。

如有任何帮助,我们将不胜感激。我对 HTML、JavaScript 和聚合物还很陌生。

也许我错了,但看起来您在处理程序中的 "this" contex 不正确。 There 我创建了具有相同目的的代码片段,通过单击按钮显示生成的列表,试试吧。

<script src="https://cdnjs.cloudflare.com/ajax/libs/polymer/0.5.5/polymer.min.js"></script>
<polymer-element name="my-element" constructor="" attributes="">
    <template>
        <paper-button label="Submit" on-tap="{{onInvoke}}" affirmative autofocus>Populate list</paper-button>
        <br/>
        <paper-dropdown-menu id="Combo" label="Process">
            <paper-dropdown class="dropdown">
                <core-menu class="menu">
                    <template repeat="{{processlist}}">
                        <paper-item>{{}}</paper-item>
                    </template>
                </core-menu>
            </paper-dropdown>
        </paper-dropdown-menu>
    </template>
    <script>
        Polymer('my-element', {
            onInvoke: function() {
                this.processlist = ['a', 'b'];
            }
        });
    </script>
</polymer-element>
<my-element></my-element>