Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从苗条的组件获取元素绑定_Javascript_Html_Svelte - Fatal编程技术网

Javascript 如何从苗条的组件获取元素绑定

Javascript 如何从苗条的组件获取元素绑定,javascript,html,svelte,Javascript,Html,Svelte,我需要锚元素的绑定客户机rect 我使用bind:this={someVariable} 但当我将代码添加到svelte组件时,我会得到svelte用来表示组件的其他对象 我可以从绑定中访问封闭的元素或类似的东西吗? 或者我必须用牺牲性的包装每个组件并绑定它吗?使用bind:this不提供DOM元素,因为Svelte不要求您的组件具有根元素。这是一个有效的苗条元素: ... ... ... 一个根本没有任何标记的组件也是如此: ... 在这两种情况下,都不可能为这些组件返回边界客户机re

我需要锚元素的绑定客户机rect

我使用
bind:this={someVariable}

但当我将代码添加到svelte组件时,我会得到svelte用来表示组件的其他对象

我可以从绑定中访问封闭的元素或类似的东西吗?
或者我必须用牺牲性的
包装每个组件并绑定它吗?

使用
bind:this
不提供DOM元素,因为Svelte不要求您的组件具有根元素。这是一个有效的苗条元素:


...
...
...
一个根本没有任何标记的组件也是如此:


...
在这两种情况下,都不可能为这些组件返回边界客户机rect,因为没有“根”元素

也就是说,您可以在组件中添加一个
bind:this
,然后导出该组件:


出口让锚
...
在您的父级中,您现在可以使用
child.anchor
(请注意,默认情况下,道具无法通过这种方式访问,这就是为什么您需要“苗条:选项”)来获取锚元素

但这不是很简单的原因之一是,这是一种非常“不灵活”的工作方式,您通常不会直接与另一个组件(即该组件的域)生成的标记交互

替代方案可能是

  • 直接公开客户端矩形而不是元素
  • 将尝试执行的操作移动到锚点组件本身

使用
bind:this
不会为您提供DOM元素,因为Svelte不要求您的组件具有根元素。这是一个有效的苗条元素:


...
...
...
一个根本没有任何标记的组件也是如此:


...
在这两种情况下,都不可能为这些组件返回边界客户机rect,因为没有“根”元素

也就是说,您可以在组件中添加一个
bind:this
,然后导出该组件:


出口让锚
...
在您的父级中,您现在可以使用
child.anchor
(请注意,默认情况下,道具无法通过这种方式访问,这就是为什么您需要“苗条:选项”)来获取锚元素

但这不是很简单的原因之一是,这是一种非常“不灵活”的工作方式,您通常不会直接与另一个组件(即该组件的域)生成的标记交互

替代方案可能是

  • 直接公开客户端矩形而不是元素
  • 将尝试执行的操作移动到锚点组件本身