могу как-то получить его родительскую ноду (div)?
Вроде так: <div> <div bind:this={myNode}></div> </div> --- let parent, myNode; onMount(() => { parent = myNode.parentNode; });
https://svelte.dev/repl/f92a19186f4d4525ab09272068adc568?version=3.28.0
Да, это сработает, но немного не тот результат, о котором я думал. Я думал, можно получить ноды, не высовывая их наружу намеренно :) Но всё равно спасибо!
Не высовывая наружу?🤔
Ну в примере как бы можно просто забиндить верхний див, и всё :) Но тут интересно другое. Вот есть другой свелт-компонент, вообще левый, мы не можем в нём забиндить ноду на что-то. Но можем забиндить его самого, что бы было объект с $$ и т.д. И вот можно ли как-то из этого инстанса получить его HTML-ноду...
По идее нельзя функционалом свелта извне компонента, потому что не факт, что в компоненте вообще может быть html и какие либо ноды
только если ты в компоненте определишь что это за нода к примеру забиндишь через bind:this рут ноду и сделаешь функцию export function getNode() { return bindedNode; } и потом в юзерах этого компонента с его инстанса будешь получать её так: component.getNode()
Ну да, так конечно можно. Я думал, есть какая-нибудь нативочка. Всем спасибо :)
У компонента не обязательно должна быть DOM года или их может быть несколько поэтому не на что биндить. Так как не принято работать с DOM напрямую, то и нативочки нету(
Обсуждают сегодня