Polymer 自动节点查找不工作
我正在尝试运行以下程序(受示例启发)。我想访问Polymer 自动节点查找不工作,polymer,Polymer,我正在尝试运行以下程序(受示例启发)。我想访问loveCount{{post.uid}span元素,并在点击favorite时将其递增1 <post-card favorite="{{post.favorite}}" on-favorite-tap="{{handleFavorite}}" hidden?="{{show == 'favorites' && !post.favorite}}"> <img src="
loveCount{{post.uid}
span元素,并在点击favorite时将其递增1
<post-card
favorite="{{post.favorite}}"
on-favorite-tap="{{handleFavorite}}"
hidden?="{{show == 'favorites' && !post.favorite}}">
<img src="../images/{{post.avatar}}.svg" width="70" height="70">
<h2>{{post.username}}</h2>
<p>{{post.text}}</p>
<p class="loveCount"><span id="loveCount_{{post.uid}}">{{post.loveCount}}</span></p>
</post-card>
<script>
Polymer({
handleFavorite: function(event, detail, sender) {
var post = sender.templateInstance.model.post;
if(post.favorite) {
//hardcoding uid = '1', just to check if its working, but its not!
console.log(this.$.loveCount_1);
}
this.$.service.setFavorite(post.uid, post.favorite);
}
});
</script>
{{post.username}
{{post.text}
{{post.loveCount}
聚合物({
handleFavorite:函数(事件、细节、发送者){
var post=sender.templateInstance.model.post;
if(post.favorite){
//硬编码uid='1',只是为了检查它是否工作,但它不是!
console.log(this.$.loveCount_1);
}
此.$.service.setFavorite(post.uid,post.favorite);
}
});
你知道我哪里做错了吗?我想你想得不对;正如您在评论中所建议的,数据绑定就是答案 有几个不同的地方可以将数据绑定连接在一起;一种非常简单的方法是在每个
上定义一个loveCount
属性,在
的
中显示该值,然后在
处理程序中增加该值
您可以在的第50、55和63行中看到更改
与示例更为一致的是,您可能希望将
loveCount
定义为读入的posts.json
文件的每个项的属性,或者处理从
处的模板中显示loveCount
。有很多方法可以组织事情,这实际上取决于您的用例。我需要在这里使用数据绑定吗?除了Jeff的答案,解决问题的正确方法是:使用ShadowDom,无需手动创建唯一的id。如果您只有一个span
,则可以安全地将其命名为loveCount
,因为它封装在该实例中,不会与任何其他post card
InstanceHanks Jeff,+1作为要点:)