当任何一组变量发生变化时,Svelte 执行函数

标签 svelte svelte-3

Svelte RealWord App 中有这样的东西:

$: query && getData();
当页面大小或其他查询参数更改时,这会调用 REST API。
我对上市实体有类似的情况,并且会这样做:
 $: activePage && sort && pageSize && getData();
这一切都运行良好(尽管 && 是一个奇怪的结构,表示我想在 getData()activePagesort 更改时执行 pageSize
当您还想包含评估为 Falsy 的变量时,使用这种方法会出现问题。
示例,添加 searchQuery 文本:
let searchQuery = "";
$: searchQuery && activePage && sort && pageSize && getData();
现在 react 性不起作用,因为 searchQuery 评估为 false
我们可以完成这个:
$: activePage && sort && pageSize && getData();
$: searchQuery, getData();
但是有了这个 getData() 被调用了 2 次。
有人知道更好的方法吗?

最佳答案

您可以将 ,&& 语法与任意数量的变量和条件一起使用

$: searchQuery, activePage && sort && pageSize && getData();
$: searchQuery, activePage, sort, pageSize, getData();

都是有效的,如果其中一个变量是假的,那么第二个就不会有问题,而第一个允许您确保某些变量不是假的。

关于当任何一组变量发生变化时,Svelte 执行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57304022/

相关文章:

javascript - SvelteJS 是否将第三方库代码转换为纯 Javascript?

graphql - 页面加载无需刷新,简洁且动态路由

svelte - 监视每个 block 中的 svelte 组件对象属性,而不会触发多个更改更新

svelte - 是什么原因导致在我的 Svelte 应用程序中创建此组件时没有预期的 prop 错误?

javascript - Svelte - 监视组件外部组件属性的更改(访问器)

node.js - 解析瘦组件内的 Markdown

javascript - svelte 如何处理导入内部的 react 性

svelte - 你能在没有 NodeJs 的情况下使用 SvelteJS 吗?

svelte - 在 svelte 中基于对象创建组件

bootstrap-4 - 如何在 Svelte 中通过 scss 设置全局 Bootstrap ?