我是Polymer的新手,我试图使用vaadin'combobox构建一个应用程序,但是价值改变的事件永远不会被解雇......
在我的HTML中我有:
<link rel="import" href="../../bower_components/polymer/polymer.html">
<link rel="import" href="../../bower_components/vaadin-combo-box/vaadin-combo-box.html">
<link rel="import" href="../../bower_components/iron-ajax/iron-ajax.html">
<dom-module id="fast-purchase-data">
<template>
<iron-ajax id="placesListAjax" url="../mock-responses/places.json" last-response="{{places}}"></iron-ajax>
<vaadin-combo-box value-changed="valueChange" label="Places" class="combobox elements-box" items="[[places.data.elements]]" item-label-path="name"></vaadin-combo-box>
<iron-ajax id="eventsListAjax" url="../mock-responses/events-list.json" last-response="{{resp}}" auto></iron-ajax>
<vaadin-combo-box value-changed="valueChange" label="Events" class="combobox" items="[[resp.data.elements]]" item-label-path="name"></vaadin-combo-box>
</template>
<script>
(function() {
'use strict';
Polymer({
is: 'fast-purchase-data',
valueChange: function(ev, i){
console.log("hey");
},
_pageChanged: function() {
this.$.placesListAjax.generateRequest();
},
});
})();
</script>
</dom-module>
我可以在组合框中看到数据,但是当我更改其值时,我看不到console.log也不是错误。我错过了什么?
答案 0 :(得分:3)
以声明方式添加事件侦听器的正确方法是使用on-event-name
(docs)。
所以在你的情况下,它应该如下。
<vaadin-combo-box on-value-changed="valueChange" ></vaadin-combo-box>