2016-09-25 8 views
1

私はページ上に大きな月間カレンダーを生成するカスタム要素を持っています。これは、1組のネストされたdomリピートで作成され、外側の1つは毎週の月を提供し、内側の1つは週を提供します。最初はこれがかなり空になりますが、Ajaxリクエストはモデルを埋めるデータとともに返され、毎日のデータ量が大幅に増えます。ユーザーがその日のうちの1つをクリックすると(その実装を開始したばかり)、その特定の日に関するさらに多くの情報を含むダイアログボックスが開きます。タップイベントはタップ対象をプロパティとして持つため、このダイアログボックスを適切な日の横に配置することができます。これをペーパーダイアログのpositionTargetプロパティに渡すことができます。私はこれを他の場所でやったことがあります。dom-repeatの特定のインスタンスに関連付けられた要素を見つける

この特定の場合、特定の日は、app-routeによって解析されるURLのオプションのパラメータによって選択できます。したがって、特定のURLが入力されたときに、正しく配置されたダイアログボックスを開くこともできます。

カレンダーで使用されているモデルで、基礎となるレコードを簡単に見つけることができますが、モデルの特定の部分に関連付けられている要素を見つけるにはどうすればよいですか。

答えて

1

これに対する解決策は比較的簡単です。

要素で、要素の各コピーに固有の値を持つ、何かを意味する属性を公開するインスタンスを取得します。私のケースでは、「日」だった

ので、私は持っていたようなもの(簡体字)私は

this.$.mydialog.positionTarget = this.$$('[urlday="' + date + '"]'); 
this.$.mydialog.open(); 
をしたオープンダイアログを選択するための私のコードで、その後

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

関連する問題