我有一个自定义元素,可以在页面上生成一个大的月历。这是通过一对嵌套的dom-repeats创建的,外部的一个提供每月的每周,而内部的一个提供一周内的日期。最初,这开始时非常空,但随后ajax请求返回填充模型的数据,为每天提供更多的数据。当用户点击其中一天(刚开始实施它)时,打开一个对话框,其中包含有关该特定日期的更多信息。我可以在适当的日期旁边放置此对话框,因为tap事件具有tap作为属性的目标,我可以将其传递给纸质对话框的positionTarget
属性。我已经在其他地方做过这件事并且有所作为。
在这种特殊情况下,可以通过网址中的可选参数选择特定日期,由app-route
解析。因此,当输入特定网址时,我还想打开正确定位的对话框。
我可以轻松找到用于日历的模型中的基础记录,但问题是我如何找到与模型的特定部分相关联的元素。
答案 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();