问题标签 [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 投票
1 回答
771 浏览

javascript - 在 svelte 中使用后退按钮事件监听器

当用户单击浏览器中的后退按钮时,我正在尝试实现滚动到最后一个位置的功能。所以在我的 App.svelte 中,我创建了一个像这样的窗口绑定:

我的问题是它不起作用。是否有其他方法可以使用 eventListeners 或收听此特定事件?

0 投票
1 回答
1256 浏览

svelte - 将值从布局传递到苗条工兵中的嵌套子路由?

[编辑] 我已更新示例以包括使用 preload ( userb) 和 {#await} ( usera)。场景 usera 和 userb 都未定义/users/[username]/about.svelte

你将如何让这样的事情起作用:

/users/[用户名]/_layout.svelte

/users/[用户名]/about.svelte

似乎 /user/:username/about 没有从 _layout 接收道具用户。这适用于 nuxt(对于 vuejs 而不是 svelte 基本上是 sapper)。

0 投票
3 回答
899 浏览

svelte - 苗条:应用程序/ld+json

使用以下代码:

在得到:

我已经尝试了这个 github 线程中的建议,结果相同:https ://github.com/sveltejs/svelte/issues/2438

0 投票
2 回答
4959 浏览

svelte - 如何比较 Svelte 3 中的道具变化

Svelte 3 中是否有一种机制可以在渲染之前比较组件内的 prop 更改?类似于 React getDerivedStateFromProps

0 投票
5 回答
3219 浏览

materialize - 将 Sass 版本的 MaterialCSS 或 Bulma 集成到 Svelte

我正在寻找有关如何将 Materializecss 或 Bulma 的 sass 版本集成到 Svelte 中的说明。我的目标是能够将单个组件(如按钮组件或卡片组件)导入单个苗条组件。此外,我希望能够利用 Bulma 提供的 sass 变量。

我已经寻找了一些关于如何做到这一点的教程,但我还没有找到任何东西。

有任何想法吗?

0 投票
1 回答
249 浏览

javascript - Svelte:如何仅在承诺未挂起时显示某些内容?

Svelte 关于等待块和承诺的教程中,它们展示了如何在承诺等待/解决/拒绝时显示特定文本。

但是当某些东西没有加载时,你怎么能显示一个元素呢?即当承诺被解决或被拒绝时(当然,没有在 {:then} 和 {:catch} 中复制按钮)

我要做的是以下内容:

但无需复制<MyElement />

0 投票
2 回答
1375 浏览

video - Svelte:重新安装组件以覆盖媒体元素

  • 语境

在我的 Svelte 应用程序中,我有多个页面,每个页面显示一个或多个视频。为了渲染视频,我重用了一个视频组件(简化):

主页面通过api接收视频内容并调用视频组件:

一切正常,视频已渲染并可播放。

  • 问题

但是:当我导航或想用另一个视频替换视频时,旧的视频元素仍然存在并且播放继续。

我可以beforeUpdate()用来暂停视频。但是,奇怪的是,新视频是在完全相同的播放时间加载的,一切都搞混了。或者,如果我删除 中的视频元素beforeUpdate(),它不会填充新信息。

这有点道理,因为video媒体元素保持完全相同,而只有属性和内容发生变化。因此状态和已经缓冲的源仍然存在。

我需要以某种方式确保,当数据更改时,必须完全重新安装视频组件。 有谁知道这是怎么做到的吗?谢谢!

0 投票
2 回答
673 浏览

javascript - SvelteJS vs ReactJS 渲染区别(重绘/重排)

这是我对 DOM 和浏览器如何工作的天真理解

每当 DOM(真实 dom)中的某些内容发生更改时,浏览器都会重新绘制或重排 DOM。因此,简单来说,每次 DOM 更改时,浏览器都需要重新计算 CSS,进行布局并重新绘制网页。这就是在现实世界中需要时间的东西。

所以 React 带有这个虚拟 DOM,它实际上做的是批量更改并调用一次将它们应用到真实 dom。因此,最大限度地减少了回流和重绘。

那么Svelte呢。如果它直接操作 DOM,它如何控制浏览器的重绘/重排。

0 投票
1 回答
221 浏览

routes - 以前的路线显示在 Sapper 的当前路线中

我有两条路线/questions/profile. 在onDestroy()我调用的生命周期事件中console.log('destroyed')。当我在路由之间切换时,我每次都会在 Chrome 控制台中“销毁”。

问题是在/questions路由内部,我有复选框,使用bind:group={multiple_ids}. 因此,在选中/取消选中某个字段后,当我切换/question/profile路由时。路由的内容/question显示在/profile路由内部,此后 Chrome 控制台不再显示“已销毁”!这种行为对我来说似乎很奇怪。我不知道发生了什么。这是一个工作项目。请解决这个问题。谢谢

0 投票
1 回答
4308 浏览

html - 如何在 Svelte 3 中具有条件属性?

是否有更简单的方法来编写以下复选框组件:

拥有<label disabled="false">是不可接受的,因为 Bulma 有一个 CSS 类.checkbox[disabled]