我遇到了一个问题,即纸张下拉元素的 on-core-select 事件被属于我的聚合物应用程序中一个单独元素的核心选择器触发。以下是包含纸张下拉列表的聚合物元素的摘录(以及聚合物事件脚本):
<paper-dropdown id="widthUnits" class="unitSelection" selected="{{item.data.designWidth[1]}}" on-core-select="{{ conditionUnitSelectionChanged }}" valueattr="label">
<paper-item label="mm"></paper-item>
<paper-item label="cm"></paper-item>
<paper-item label="m"></paper-item>
</paper-dropdown>
conditionUnitSelectionChanged: function(e, detail, sender) {
// Ensure the selection has in fact changed
if (sender.selected != detail.item.label)
{
this.ajaxUpdateUnit(sender);
}
},
这里是核心选择器和相关代码,它们是应用程序中完全不同元素的一部分。仅供参考,SelectedItemKey
在所涉及的两个元素中都受到聚合物“改变”事件的关注……如果这很重要的话。
<core-selector id="itemSelector" target="{{$.itemList}}" multi="false" selected="{{selectedItemKey}}" selectedAttribute="active"></core-selector>
<div id="itemList" layout horizontal wrap>
<template repeat="{{item, i in items}}">
<div id="{{item.name}}">
<entriesHeading name="{{item.name}}" horizontal layout center>
<div flex>{{item.name}}</div>
<paper-menu-button icon="more-vert" halign="right">
<paper-item label="Edit" on-tap="{{ itemEdit }}"></paper-item>
<paper-item label="Copy" on-tap="{{ itemCopy }}"></paper-item>
<paper-item label="Delete" on-tap="{{ itemDelete }}"></paper-item>
</paper-menu-button>
</entriesHeading>
<entriesContainer vertical layout>
*** container contents ***
</entriesContainer>
</div>
</template>
</div>
关于如何避免与核心选择事件发生这种不必要的相互作用的任何建议?也许是某种特定的监听器(仅限于监听 paper-dropdown(s) core-select 事件)?