查找与dom-repeat的特定实例关联的元素

时间:2016-09-25 14:45:29

标签: polymer

我有一个自定义元素,可以在页面上生成一个大的月历。这是通过一对嵌套的dom-repeats创建的,外部的一个提供每月的每周,而内部的一个提供一周内的日期。最初,这开始时非常空,但随后ajax请求返回填充模型的数据,为每天提供更多的数据。当用户点击其中一天(刚开始实施它)时,打开一个对话框,其中包含有关该特定日期的更多信息。我可以在适当的日期旁边放置此对话框,因为tap事件具有tap作为属性的目标,我可以将其传递给纸质对话框的positionTarget属性。我已经在其他地方做过这件事并且有所作为。

在这种特殊情况下,可以通过网址中的可选参数选择特定日期,由app-route解析。因此,当输入特定网址时,我还想打开正确定位的对话框。

我可以轻松找到用于日历的模型中的基础记录,但问题是我如何找到与模型的特定部分相关联的元素。

1 个答案:

答案 0 :(得分:1)

事实证明,解决方案相对容易。

在您想要获取其实例的公式上,公开一个具有某种意义的属性,其值对于该元素的每个副本都是唯一的。就我而言,它是" date"

所以我有类似(简化)

的东西
<template is="dom-repeat" items="{{week}}" as="day">
  <li urlday$="[[day.date]]"> ... </li>
</template>

然后在我的代码中选择打开我做的对话

this.$.mydialog.positionTarget = this.$$('[urlday="' + date + '"]');
this.$.mydialog.open();
相关问题