私はポリマー2.0を使用していますが、私はdom-repeat
を別のTo-doカード用に持っています。私がしたいのは、カードをクリックするとカードを取り除くことです。Polymer 2.0のタップ機能でパラメータを渡すにはどうすればよいですか?
on-tap=deleteNote([[index]])
これを試しましたが、dom-repeat
のインデックスを使用しています。ただし、Polymerはこの機能を実行しません。
私は間違っていますか?
私はポリマー2.0を使用していますが、私はdom-repeat
を別のTo-doカード用に持っています。私がしたいのは、カードをクリックするとカードを取り除くことです。Polymer 2.0のタップ機能でパラメータを渡すにはどうすればよいですか?
on-tap=deleteNote([[index]])
これを試しましたが、dom-repeat
のインデックスを使用しています。ただし、Polymerはこの機能を実行しません。
私は間違っていますか?
on-tap
は、ポリマー2.0では実装されていないようです。代わりにon-click
を使用すると、それは動作します。
EDIT:以下のコメントを参照してください。
まあ、私はあなたができないことを認識しています。インターネット上でそれについて多くの議論があります。
もちろん、関数に引数を渡す方法があります。要素の属性に[[index]]
を保存し、必要に応じて属性を取得することができます。
例:スクリプトで次に
<div on-tap='_deleteNote' indexed$='[[index]]'>
:
_deleteNote(e) {
var index = e.target.getAttribute('indexed');
...
}
あなたがindex
を取得したら、あなたはそれでやりたいことができます。
ポリマー2.0でハイブリッド要素を使用していない場合は、ポリマージェスチャーを拡張することを忘れないでください。
class Foo extends Polymer.GestureEventListeners(Polymer.Element) {}
それについての詳細:https://www.polymer-project.org/2.0/docs/devguide/gesture-events#using-gesture-events
は、ハイブリッド要素は何か:https://www.polymer-project.org/2.0/docs/devguide/hybrid-elements
別の解決策は、event.target
内dataset
オブジェクトである可能性があります。
<div on-tap="doSomething" data-item$="[[item]]"></div>
をそして、あなたのdoSomething()
リスナーの中に、あなたはdataset
オブジェクトを取得することができます:あなたはdata-
接頭辞を使用してプロパティを定義することができます
doSomething(event) {
const item = event.target.dataset.item;
...
}
あなたはev.model
からモデルにアクセスすることができます。したがって、ev.model.index
からインデックスにアクセスできます。
オンタップがあります。 PolymerジェスチャーのEventListenerを拡張する必要があります。 'Class Foo extends Polymer.GestureEventListeners(Polymer.Element){}' –
@KubaŠimonovský 'click'は[今すぐお勧めです](https://www.polymer-project.org/2.0/docs/devguide/gesture-events)forモバイルを「タップ」する。 – brandaemon
@brandemon yep、そうです。人々は 'on-click'を使うべきです –