Vaadin 组合框值更改不起作用
Vaadin combobox value-changed not working
我是 Polymer 的新手,我正在尝试使用 vaadin' 组合框构建一个应用程序,但从未触发值更改事件...
在我的 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 既不是错误。我错过了什么?
以声明方式添加事件侦听器的正确方法是使用 on-event-name
(docs)。
所以在你的情况下应该如下所示。
<vaadin-combo-box on-value-changed="valueChange" ></vaadin-combo-box>
我是 Polymer 的新手,我正在尝试使用 vaadin' 组合框构建一个应用程序,但从未触发值更改事件...
在我的 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 既不是错误。我错过了什么?
以声明方式添加事件侦听器的正确方法是使用 on-event-name
(docs)。
所以在你的情况下应该如下所示。
<vaadin-combo-box on-value-changed="valueChange" ></vaadin-combo-box>