Polymer:dom 上的点击事件 - 在 index.html 中未识别重复项
Polymer: on-click event on dom-repeat item is not identified in index.html
我有一个带有入口点 index.html 的聚合物应用程序。出于某种原因,我不得不在 index.html 本身内部使用 dom-repeat 而不是聚合物元素。代码是这样的
<dom-bind id="mainbody">
<template>
<app-drawer-layout>
<app-drawer slot="drawer">
<template is="dom-repeat" id="mainDemoBody">
<paper-item data-value={{item.is}} id="demoItem" on-tap="onElementSelect">
{{item.is}}
</paper-item>
</template>
</app-drawer>
<div> Main content
<div>
</app-drawer-layout>
</template>
</dom-bind>
我在脚本标签中定义了点击功能,就像这样
<script>
function onElementSelect(e) {
console.log('here');
this.selectedElement = e.model.item;
this.elementTags = this.selectedElement.tags;
this.demoLoaded = false;
}
</script>
但是在用户界面上单击 dom-repeat 的任何项目时出现以下错误
侦听器方法onElementSelect
未定义
谁能帮我解决这个问题,在此先感谢。
"onElementSelect" 似乎没有与 dom-bind#mainbody 绑定。
我的建议是创建一个与主体绑定的函数。这似乎对我有用。
代码:-
var mainbody = document.getElementById('mainbody');
mainbody.onElementSelect = function(e){
console.log('here');
this.selectedElement = e.model.item;
this.elementTags = this.selectedElement.tags;
this.demoLoaded = false;
}
编辑:请注意,所提供的解决方案对于聚合物元件来说是不合适的或必需的。在这种情况下需要此特定修复,因为 html 文件中使用了聚合物组件。
我有一个带有入口点 index.html 的聚合物应用程序。出于某种原因,我不得不在 index.html 本身内部使用 dom-repeat 而不是聚合物元素。代码是这样的
<dom-bind id="mainbody">
<template>
<app-drawer-layout>
<app-drawer slot="drawer">
<template is="dom-repeat" id="mainDemoBody">
<paper-item data-value={{item.is}} id="demoItem" on-tap="onElementSelect">
{{item.is}}
</paper-item>
</template>
</app-drawer>
<div> Main content
<div>
</app-drawer-layout>
</template>
</dom-bind>
我在脚本标签中定义了点击功能,就像这样
<script>
function onElementSelect(e) {
console.log('here');
this.selectedElement = e.model.item;
this.elementTags = this.selectedElement.tags;
this.demoLoaded = false;
}
</script>
但是在用户界面上单击 dom-repeat 的任何项目时出现以下错误
侦听器方法onElementSelect
未定义
谁能帮我解决这个问题,在此先感谢。
"onElementSelect" 似乎没有与 dom-bind#mainbody 绑定。 我的建议是创建一个与主体绑定的函数。这似乎对我有用。
代码:-
var mainbody = document.getElementById('mainbody');
mainbody.onElementSelect = function(e){
console.log('here');
this.selectedElement = e.model.item;
this.elementTags = this.selectedElement.tags;
this.demoLoaded = false;
}
编辑:请注意,所提供的解决方案对于聚合物元件来说是不合适的或必需的。在这种情况下需要此特定修复,因为 html 文件中使用了聚合物组件。