Опитвам се да избегна улавяне на събития в полимерен персонализиран елемент, така че искате да задействате събитие само когато е провокирано от ['items'], съдържащи се в елемента.
Имам два различни персонализирани елемента. И двата персонализирани елемента разширяват core-selector . Едната увива другата.
Така че имам нещо като:
<my-parent-element>
<parentItem>I'm a parent
<my-child-element>
<childItem>I'm a child</childItem>
<childItem>I'm a child</childItem>
<childItem>I'm a child</childItem>
</my-child-element>
</parentItem>
<parentItem>I'm a parent</parentItem>
<parentItem>I'm a parent</parentItem>
</my-parent-element>
Дефиниране на персонализирани елементи
<my-parent-element>
има свой собствен манипулатор на събития, избран от ядрото.<my-child-element>
няма нито скрипт, нито манипулатори на събития.
Моята цел:
- Само когато е избран елемент от
<my-parent-element>
, събитието се задейства. - Искам да запазя независимостта на компонентите, така че бих искал да не променям детето.
Ситуация
Въз основа на този отговор спирам метода за проверка на получения артикул , но мисля, че не е правилното решение...
onCoreSelect: function (event, detail, sender) {
if (!detail.item.classList.contains('child')) {
return; //Dislike!
}
);
...защото бих искал дори да не задействам метода.
Можете да го възпроизведете в този Plunker. onCoreSelect пише подробности, но само избиращите родители трябва да го правят. Както можете да видите, когато щракнете върху което и да е дете, това задейства събитието.
Мерси!