当变量组中的任何变量发生变化时,svelte执行函数 [英] Svelte execute function when any of group of variables changes

查看:10
本文介绍了当变量组中的任何变量发生变化时,svelte执行函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Svelte RealWord App中有这样的内容:

$: query && getData();

页面大小或其他查询参数更改时调用REST API。

我对上市实体也有类似的情况,并做到了:

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

这一切都运行得很好(尽管&;&;是一个奇怪的构造,表示我要在activePagesortpageSize更改时执行。

使用此方法时,如果还希望包含计算结果为Falsy的变量,则会出现问题。

示例,添加searchQuery文本:

let searchQuery = "";
$: searchQuery && activePage && sort && pageSize && getData();

现在反应性不起作用,因为searchQuery计算为false

我们可以做到:

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

但使用此方法,getData()被调用2次。

有人知道解决此问题的更好方法吗?

推荐答案

您可以将,&&语法用于任意数量的变量和条件

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

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

这篇关于当变量组中的任何变量发生变化时,svelte执行函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆