问题标签 [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.
svelte - Svelte:指定多个条件类属性
我想让这样的事情成为可能:
因此,将始终应用一组类。一组仅当whiteTheme
为真,另一组仅当darkTheme
为真。
我知道我可以定义一个whiteTheme
和一个darkTheme
css 类并让它像那样工作
但关键是我想单独设计每个元素(尤其是在我的应用程序的开始阶段)。并且必须为不同类中的每个元素定义我的类集......对我来说违背了使用 Tailwind.css 和试验特定元素的目的(无需在 css 定义和元素定义之间来回跳转)。
我可以选择的另一种方式是:
这还不错,但我希望通过在单独的属性中定义事物来提高可读性和可维护性......
所以我想知道是否有办法让它按照我想要的方式工作......例如,我可以轻松地扩展 Svelte 编译器吗?
最好的约翰内斯
javascript - 苗条组件的输出
当我在页面上添加苗条组件时,我创建了新的类示例。
并且每次组件销毁并再次创建。
但我需要保存组件的状态。
(例如:块的显示、块的位置、文本等等)
当我创建新的示例时,我可以把它放在全局变量中。我可以从全局输出吗?那是真的吗?
svelte - 当 matomo 在 svelte 中执行时,道具会丢失
我在传递道具时遇到了一个非常奇怪的错误。这是父组件:
基本上问题是我的关闭功能在下载组件中丢失了。流程是首先渲染注册组件,执行一些逻辑,完成后,下载组件使用从注册组件传递的值进行渲染。在完成一些逻辑之后,调用 close 。但它是未定义的。问题似乎是下载组件中的这个 onMount 函数:
我能够将问题缩小到 _paq 函数(它来自 Matomo,窗口对象上的全局函数)。当我删除此功能时,一切正常。那么有人知道这里出了什么问题吗?
javascript - TypeError: $$invalidate(...) 不是 Svelte 中的函数
我有一个显示评论的轮播。单击按钮时,我收到此错误:
奇怪的是,一切正常,所以没有任何东西被破坏。但我无法理解这个错误来自哪里或导致它的原因。这是代码:
javascript - 如何在 svelte 中向窗口事件/鼠标滚轮添加参数
我想听鼠标滚轮,如果鼠标位于某个元素上方,请取消默认值并改为执行我的操作。
现在我只想记录事件并阻止它:
使用 svelte 这就是我想出的:
不幸的是,这只能让我记录事件,并给出以下错误消息:
无法在被动事件侦听器调用中阻止默认值。
使用纯 JS 的解决方案是添加一个参数:
但是我在提到如何做到这一点的苗条文档中找不到任何方法。那么,您将如何以苗条的方式做到这一点?
svelte - Zeit:Prisma 2 尚未初始化错误
我正在使用 prisma 2 客户端和 zeit 来开发一个 sapper 应用程序。在我本地一切正常,但是当尝试在 zeit 上部署时,大多数情况下它会失败,有时它会神奇地工作。不太确定我是否应该进行一些配置更改。
我在这里看到了一些与 zeit 类似的问题,但这在我的情况下不起作用。https://github.com/prisma/prisma-client-js/issues/390
请需要帮助。
svelte - 将数据从一页发送到另一页而不是预加载?
假设我有一个blog
加载所有博客文章的完整数组的路由。个人博客文章位于blog/[postId]
。是否有一种 Sapper 惯用的方式将单个帖子的数据从blog
to 传递blog/[postId]
?
本质上,如果你在blog
我想预加载显示的代码blog/[postId]
。然后,当您单击指向 的链接时blog/[postId]
,立即导航并显示来自 的数据blog
。但是当然,如果您直接导航到blog/[postId]
thenpreload()
仍然应该被调用。
prefetch
不完全这样做,因为这仍然需要网络请求。我还尝试了一个预加载,它检查一个商店并且除非它是空的,否则不会发出网络请求,但你不能在<script context="module">
.
svelte - Svelte v3 以编程方式创建具有道具和事件侦听器的组件
是否可以创建一个组件并以编程方式将事件侦听器附加到它?
我知道这对于使用<svelte:component/>
传播的道具很容易实现{ ...props }
。我想知道是否可以实现类似的附加事件侦听器。
例如,在以下示例中,我想以编程方式附加on:message
到A
和on:count
到B
:
这是一个现场演示:https ://svelte.dev/repl/af1bd30ab75b43f19b72a306340b7282?version=3.18.2
即,我希望有一种方法可以将components
数组扩展到
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
css - 删除或修改 CSS 类名“svelte-”前缀
我用 Svelte 编写了一个聊天机器人小部件,它应该能够集成到网站中。网站所有者获取编译后的 JS 和 CSS 文件。到目前为止,一切都很好。
但是每个网站所有者都必须有可能覆盖 CSS 文件中的样式。没问题,他可以例如简单地覆盖标题的背景颜色:
但是:例如,假设我修复了一个错误并重新编译了小部件。让我们进一步假设我的更改导致哈希kcmu8l
发生更改,并且网站所有者之前所做的调整不再起作用。
我怎样才能防止这种情况?是否可以省略svelte-xxx
类或定义自己的哈希值?