问题标签 [svelte-3]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
9136 浏览

svelte - Svelte:指定多个条件类属性

我想让这样的事情成为可能:

因此,将始终应用一组类。一组仅当whiteTheme为真,另一组仅当darkTheme为真。

我知道我可以定义一个whiteTheme和一个darkThemecss 类并让它像那样工作

但关键是我想单独设计每个元素(尤其是在我的应用程序的开始阶段)。并且必须为不同类中的每个元素定义我的类集......对我来说违背了使用 Tailwind.css 和试验特定元素的目的(无需在 css 定义和元素定义之间来回跳转)。

我可以选择的另一种方式是:

这还不错,但我希望通过在单独的属性中定义事物来提高可读性和可维护性......

所以我想知道是否有办法让它按照我想要的方式工作......例如,我可以轻松地扩展 Svelte 编译器吗?

最好的约翰内斯

0 投票
1 回答
164 浏览

javascript - 苗条组件的输出

当我在页面上添加苗条组件时,我创建了新的类示例。

并且每次组件销毁并再次创建。
但我需要保存组件的状态。
(例如:块的显示、块的位置、文本等等)
当我创建新的示例时,我可以把它放在全局变量中。我可以从全局输出吗?那是真的吗?

0 投票
0 回答
60 浏览

svelte - 当 matomo 在 svelte 中执行时,道具会丢失

我在传递道具时遇到了一个非常奇怪的错误。这是父组件:

基本上问题是我的关闭功能在下载组件中丢失了。流程是首先渲染注册组件,执行一些逻辑,完成后,下载组件使用从注册组件传递的值进行渲染。在完成一些逻辑之后,调用 close 。但它是未定义的。问题似乎是下载组件中的这个 onMount 函数:

我能够将问题缩小到 _paq 函数(它来自 Matomo,窗口对象上的全局函数)。当我删除此功能时,一切正常。那么有人知道这里出了什么问题吗?

0 投票
2 回答
329 浏览

javascript - TypeError: $$invalidate(...) 不是 Svelte 中的函数

我有一个显示评论的轮播。单击按钮时,我收到此错误:

奇怪的是,一切正常,所以没有任何东西被破坏。但我无法理解这个错误来自哪里或导致它的原因。这是代码:

0 投票
2 回答
1953 浏览

javascript - 如何在 svelte 中向窗口事件/鼠标滚轮添加参数

我想听鼠标滚轮,如果鼠标位于某个元素上方,请取消默认值并改为执行我的操作。

现在我只想记录事件并阻止它:

使用 svelte 这就是我想出的:

不幸的是,这只能让我记录事件,并给出以下错误消息:

无法在被动事件侦听器调用中阻止默认值。

使用纯 JS 的解决方案是添加一个参数:

但是我在提到如何做到这一点的苗条文档中找不到任何方法。那么,您将如何以苗条的方式做到这一点?

0 投票
1 回答
970 浏览

svelte - Zeit:Prisma 2 尚未初始化错误

我正在使用 prisma 2 客户端和 zeit 来开发一个 sapper 应用程序。在我本地一切正常,但是当尝试在 zeit 上部署时,大多数情况下它会失败,有时它会神奇地工作。不太确定我是否应该进行一些配置更改。

我在这里看到了一些与 zeit 类似的问题,但这在我的情况下不起作用。https://github.com/prisma/prisma-client-js/issues/390

请需要帮助。

0 投票
1 回答
998 浏览

svelte - 将数据从一页发送到另一页而不是预加载?

假设我有一个blog加载所有博客文章的完整数组的路由。个人博客文章位于blog/[postId]。是否有一种 Sapper 惯用的方式将单个帖子的数据从blogto 传递blog/[postId]

本质上,如果你在blog我想预加载显示的代码blog/[postId]。然后,当您单击指向 的链接时blog/[postId],立即导航并显示来自 的数据blog。但是当然,如​​果您直接导航到blog/[postId]thenpreload()仍然应该被调用。

prefetch不完全这样做,因为这仍然需要网络请求。我还尝试了一个预加载,它检查一个商店并且除非它是空的,否则不会发出网络请求,但你不能在<script context="module">.

0 投票
3 回答
2552 浏览

svelte - Svelte v3 以编程方式创建具有道具和事件侦听器的组件

是否可以创建一个组件并以编程方式将事件侦听器附加到它?

我知道这对于使用<svelte:component/>传播的道具很容易实现{ ...props }。我想知道是否可以实现类似的附加事件侦听器。

例如,在以下示例中,我想以编程方式附加on:messageAon:countB

这是一个现场演示:https ://svelte.dev/repl/af1bd30ab75b43f19b72a306340b7282?version=3.18.2

即,我希望有一种方法可以将components数组扩展到

0 投票
3 回答
2903 浏览

javascript - Svelte 3:单元测试时无法导入模块

我正在尝试使用 Jest 测试 Svelte 组件。该组件在浏览器中运行良好,但单元测试在导入模块时失败。

例如,在运行 Jest 时,import uuid from 'uuid'编译为const { default: uuid } = require("uuid");,并调用uuid.v4()cause TypeError: Cannot read property 'v4' of undefined。当我使用import * as uuid from 'uuid'orconst uuid = require('uuid')时,Jest 单元测试通过,但它在浏览器中不起作用。

我该如何处理这个问题?任何信息都会有很大帮助。谢谢你。

包.json:

rollup.config.js

jest.config.js

0 投票
1 回答
1407 浏览

css - 删除或修改 CSS 类名“svelte-”前缀

我用 Svelte 编写了一个聊天机器人小部件,它应该能够集成到网站中。网站所有者获取编译后的 JS 和 CSS 文件。到目前为止,一切都很好。

但是每个网站所有者都必须有可能覆盖 CSS 文件中的样式。没问题,他可以例如简单地覆盖标题的背景颜色:

但是:例如,假设我修复了一个错误并重新编译了小部件。让我们进一步假设我的更改导致哈希kcmu8l发生更改,并且网站所有者之前所做的调整不再起作用。

我怎样才能防止这种情况?是否可以省略svelte-xxx类或定义自己的哈希值?