Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.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_Svelte_Svelte Component_Svelte 3_Svelte Store - Fatal编程技术网

Javascript 在苗条商店中保存窗口绑定

Javascript 在苗条商店中保存窗口绑定,javascript,svelte,svelte-component,svelte-3,svelte-store,Javascript,Svelte,Svelte Component,Svelte 3,Svelte Store,嗨,互联网上的好人 我为用户的滚动位置创建了一个侦听器: 我想把这个变量保存在一个商店里,让它在整个网站上都可以访问。要不是这样,我需要一个二传手。有没有一种性能良好的方法可以做到这一点 我试过这个,但不起作用: $: () => scrollPos.set(y); $: console.log("LOG: scrollPos", $scrollPos);``` 当响应语句所依赖的值发生变化时,它们将被重新计算,因此您只需将scrollPos.set(y)设置为响应语句,它将按

嗨,互联网上的好人

我为用户的滚动位置创建了一个侦听器:
我想把这个变量保存在一个商店里,让它在整个网站上都可以访问。要不是这样,我需要一个二传手。有没有一种性能良好的方法可以做到这一点

我试过这个,但不起作用:

  $: () => scrollPos.set(y);
  $: console.log("LOG: scrollPos", $scrollPos);```

当响应语句所依赖的值发生变化时,它们将被重新计算,因此您只需将
scrollPos.set(y)
设置为响应语句,它将按预期工作

示例()


从'svelte/store'导入{writable};
让y;
常量scrollPos=可写(0);
$:滚动位置设置(y);
{$scrollPos}
以下是代码:

<script>
import { y } from './store.js';
import LogScrollPosition from './LogScrollPosition.svelte';

let scrollY;
$: y.set(scrollY);
</script>

<button on:click={() => scrollY = 200}>
    Go down
</button>

<h1>Hello!</h1>

<LogScrollPosition />

<p>
Vestibulum arcu turpis, condimentum non lorem quis, volutpat laoreet turpis. Praesent euismod, libero eu pulvinar imperdiet, dolor ex molestie lacus, sed egestas arcu felis non libero. Aenean laoreet arcu porttitor dolor pulvinar eleifend. Pellentesque lacinia neque sit amet nulla blandit, at ullamcorper orci ultricies. Cras pulvinar nec est sit amet sollicitudin. Sed luctus massa nibh, eu luctus magna tincidunt vel. Morbi tempor velit elit, nec cursus risus pellentesque quis. Aliquam erat volutpat. Vivamus tristique lacus vel lorem lacinia, a accumsan turpis gravida. Maecenas dapibus gravida mauris, iaculis placerat urna rhoncus at. Vivamus vel malesuada nisi. Suspendisse pulvinar pellentesque lectus, non imperdiet nisi tempus sed. Maecenas vel magna eu diam faucibus semper ut nec neque.

Aliquam malesuada gravida libero, sit amet pellentesque felis viverra vel. Maecenas est tortor, eleifend ut est nec, maximus vehicula eros. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque tincidunt fringilla urna id fermentum. Proin rhoncus iaculis ipsum. In a sapien sapien. Sed eget justo ac turpis sodales imperdiet. In condimentum mauris ut ex sagittis, id malesuada ligula dictum. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae;

Vivamus volutpat id velit et vehicula. Vivamus lectus orci, aliquam a maximus et, rhoncus in nibh. Etiam interdum sagittis justo et scelerisque. Quisque dapibus pulvinar pulvinar. Curabitur pulvinar, odio id eleifend consequat, sapien nulla congue metus, ut porttitor massa ipsum eget mauris. Duis a facilisis velit, non semper massa. Vestibulum semper velit nisi, sit amet blandit eros consectetur sit amet. Morbi accumsan magna a ex tempus imperdiet. Duis vitae convallis ipsum, imperdiet efficitur magna. Praesent ultrices turpis nec enim molestie, non aliquet tellus luctus. Sed porttitor nibh sit amet metus malesuada imperdiet et vitae ligula. Donec sit amet ullamcorper nisl. Nulla rhoncus ligula non tellus finibus efficitur. Nullam accumsan mattis risus at cursus. Duis ligula ligula, ullamcorper ac risus nec, hendrerit vulputate massa.

Phasellus pellentesque mauris ligula, id dapibus nisi lobortis a. In eget quam tincidunt, mattis ante eu, dignissim nisl. Proin sollicitudin dolor porttitor, tincidunt ipsum at, consequat leo. Morbi consequat imperdiet mauris, sed maximus tellus venenatis ut. Vestibulum tempus nisi ac semper volutpat. Vivamus rhoncus augue eu erat aliquet sodales. Ut consequat sapien enim, in pulvinar mauris dapibus varius. In mi mi, aliquam vel ante eu, lobortis aliquet lorem. Donec vulputate ac lorem ac laoreet.
</p>

<svelte:window bind:scrollY={scrollY} />

从'/store.js'导入{y};
从“./LogScrollPosition.svelte”导入LogScrollPosition;
让滚动;
$:y.set(滚动);
scrollY=200}>
下降
你好

前庭弓形turpis,调味品non lorem quis,Volatipat laoreet turpis。普雷森特·尤伊斯莫(Praesent euismod)、自由欧盟(libero-eu-pulvinar imperdiet)、多尔·莱克斯蒂·拉克斯(dolor ex molestie lacus)、塞德·埃吉斯塔(sed Egesta)和非自由猫(arcu felis non-libero。埃尼安·拉奥里特·阿库·波尔蒂托·多尔·普尔文纳·埃利芬德。佩伦茨克·拉西尼亚·内克坐在乌兰姆科珀奥奇乌尔特里斯酒店的阿梅特·努拉·布兰迪特(amet nulla blandit)旁边。普尔维纳火山必须是一个独立的火山。这是一个巨大的挑战。暂时的精英病床,不必再忍受痛苦了。阿利奎姆·埃拉特·帕特。Vivamus tristique lacus vel lorem lacinia,一名accumsan turpis孕妇。怀孕前的母亲mauris,出生后的母亲Arna rhoncus。万岁。丘脑后叶悬吊术,非节食性颞下颌关节炎。这是一个巨大的欧洲直径,是一个新的直径。
阿利奎姆·马莱苏阿达·孕妇自由女神,坐在艾米特·佩伦茨克·费利斯·维韦拉·维尔旁边。梅塞纳斯是侵权人,但不是nec,是爱神之神。Lorem ipsum dolor sit amet,是一位杰出的献身者。发酵液。同侧斜角肌前肌。在一个智者的智者中。Sed eget justo ac turpis sodales的饮食。在调味品mauris ut ex sagittis中,我是malesuada ligula dictum。虎口浮雕和肘部浮雕同侧前庭;
蜗壳和车辆的生命。奥奇之路万岁,伟大之路万岁,尼布之路万岁。两个射手座之间的距离是多少。奎斯克·达皮布斯·普尔文纳·普尔文纳。pulvinar库拉比图尔,odio id eleifend consequat,sapien nulla congue metus,ut porttitor massa ipsum eget mauris。杜伊斯是一家便利店,非semper massa。前庭,坐在我的面前,我的爱人在我的面前。莫比·阿库姆桑·麦格纳:一种前临时饮食。两人同患共济失调,影响饮食效率。这是一种特殊的动物,它是一种无生命的动物。这是一种对饮食和生命的威胁。不要坐在阿梅特乌拉姆科珀酒店。无菱形舌苔,无细鳞舌苔。库苏斯的马蒂斯·里苏斯。杜伊斯·利古拉·利古拉、乌兰科佩尔·ac·里索斯·内克、亨德雷特·瓦普塔特·马萨。
Phasellus pellentesque mauris ligula,id dapibus nisi lobortis a。在eget quam tincidunt,mattis ante eu,Dignessim nisl。这是一个很好的例子。莫里斯的莫比·康塞奎特·莫里斯,是维尼那提斯的马克西姆斯·泰勒斯·维尼那提斯。鼻颞前庭。罗诺斯·奥古斯·欧拉·阿利奎特·索达莱斯万岁。我们的智囊团位于pulvinar mauris dapibus varius。在mi mi,aliquam vel ante eu,lobortis aliquet lorem。Donec对lorem和laoreet的看法不同。

从本质上讲,您很接近,但不要使函数与
$:()=>…
发生反应。只需执行
$:滚动位置设置(y)

这里有一个例子

您应该能够直接绑定到存储值:


从'svelte/store'导入{writable};
常量y=可写(0);
不幸的是,你发现了一个bug——不管出于什么原因,它目前不起作用。我在这里打开了一个问题: