2016-09-25 44 views
1

我有一个自定义元素,可在页面上生成较大的每月日历。这是用一对嵌套的dom重复创建的,外部的每个星期提供一个月的每个星期,内部的提供一周内的日期。最初这开始是非常空的,但随后ajax请求会返回填充模型的数据,从而为每一天提供更多的数据。当用户点击其中一天(刚开始实施时),打开一个对话框,提供有关该特定日子的更多信息。我可以将此对话框放置在适当的一天旁边,因为轻击事件将轻击的目标作为属性,并且可以将其传递给纸对话框的positionTarget属性。我在别处做过这件事,它很有用。寻找与dom-repeat的特定实例相关联的元素

在这种特殊情况下,特定的日子可以通过url中的可选参数来选择,由app-route解析。所以我也想打开对话框,正确定位,当输入一个特定的网址。

我可以很容易地找到用于日历的模型中的底层记录,但问题是如何找到与模型的特定部分关联的元素。

回答

1

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

在要获取其实例的元素上公开一个意味着某种内容的属性,并且该属性的每个副本都具有唯一的值。在我的情况下,它是“日期”

,所以我有这样的事情(简体)

<template is="dom-repeat" items="{{week}}" as="day"> 
    <li urlday$="[[day.date]]"> ... </li> 
</template> 
在我的代码来选择打开我做

this.$.mydialog.positionTarget = this.$$('[urlday="' + date + '"]'); 
this.$.mydialog.open(); 
对话框

然后