Javascript 聚合物列表未更新以切换内容

Javascript 聚合物列表未更新以切换内容,javascript,polymer-1.0,Javascript,Polymer 1.0,我有一份活动清单。每个事件都有一个名称。当名称输入字段为空时,它是可见的。当用户完成操作后,他们可以按“回车”,它将隐藏输入字段并显示相应的span。如果他们希望再次编辑该字段,可以单击span以显示输入字段 我用的是聚合物1.6。以下是我正在使用的代码: HTML <template is="dom-repeat" items="{{referralEvents}}" index-as="index" id="referralEventsElement"> <span h

我有一份活动清单。每个事件都有一个名称。当名称输入字段为空时,它是可见的。当用户完成操作后,他们可以按“回车”,它将隐藏输入字段并显示相应的span。如果他们希望再次编辑该字段,可以单击span以显示输入字段

我用的是聚合物1.6。以下是我正在使用的代码:

HTML

<template is="dom-repeat" items="{{referralEvents}}" index-as="index" id="referralEventsElement">
  <span hidden$="{{!item.name.inputHidden}}" item-index="{{index}}" on-tap="showInput">{{item.name.value}}</span>
  <input hidden$="{{item.name.inputHidden}}" placeholder="Name Session" value="{{item.name.value::input}}" on-keypress="checkForEnter" item-index="{{index}}>
</template>

该值变化很好,但不会更新列表以隐藏或显示元素。有什么想法吗?

我不知道为什么,但只有
this.set()
方法对我有效:

showInput: function(e){
  this.set([
     'referralEvents',
     e.target.itemIndex,
     'name',
     'inputHidden'], false);
}

谢谢你的灵感,@tomasz pluskiewicz。我对此进行了测试,它还可以使用点分隔字符串代替数组来访问对象并对其进行更改

showInput: function(e){
  this.set('referralEvents.' + e.target.itemIndex + '.name.inputHidden', false);
}

是的,两者都有效。我个人更喜欢数组重载。字符串连接是如此简单;)
showInput: function(e){
  this.set('referralEvents.' + e.target.itemIndex + '.name.inputHidden', false);
}