我有一张"卡"元件;每个都有一个纸张输入元件和一个按钮元件;每个元素从外部JSON获取一些数据(在my-post-service元素中,我嵌入了一个core-ajax)。我的目标是,当用户在文本框中写入内容并单击相对按钮时,特定卡的信息和用户插入的文本将被发送到另一个功能。 以下是该聚合物元素的代码:
<polymer-element name="template-list">
<template>
<my-post-service id="service" posts="{{posts}}" url="http://localhost:9111/v3/objects/templates">
</my-post-service>
<div id="pcId" layout horizontal wrap>
<template repeat="{{post in posts}}">
<my-post-card>
<img src="http://localhost:9111/v3/resources/{{post.representation[0].icon}}" width="70" height="70">
<h2>{{post.name}}</h2>
<p>{{post.description}}</p>
<paper-input name="paper-input" id="paperInputId" inputValue="{{value}}" label="Insert new object name..." floatingLabel="false"></paper-input>
<add-object-button on-click="{{fetchName}}" template="{{post.name}}" name="{{objName}}"></add-object-button>
</my-post-card>
</template>
</div>
<style>
:host {
display: block;
width: 100%;
}
my-post-card {
margin-bottom: 30px;
}
</style>
</template>
<script>
var objName;
Polymer({
fetchName: function () {
objName = this.$.pcId.querySelector('#paperInputId').value;
},
get objName() {
return objName;
},
});
</script>
目前,当我点击某个按钮时,我总能获得特定的卡片信息(通过模板属性),但我只能从第一个纸张输入元素(第一张卡片中的一个)中检索文本)。
我是聚合物的新人,所以也许我错过了一些愚蠢的东西......!
答案 0 :(得分:0)
objName = this.$.pcId.querySelectorAll('paper-input').value;
我认为你正在寻找。