1

我在一个食谱网站上工作。食谱有一个默认的份数(例如:4 人)。用户可以更改份量以动态更新食谱的比例。

servings当我的变量被获取时,我如何在 Svelte 中做到这一点@urql/svelte

在 Svelte 中收到数据后,我的想法是defaultServings根据获取的servings值创建一个变量。defaultServings不应该是可更新的。然后我会计算每种成分的比例,例如ingredientQuantity / defaultServings * inputServings, servings。(这里,servings是我绑定到输入组件的获取值。)

我是 Svelte 的新手,我认为我把事情复杂化了。我不知道如何获得执行servings后的值query(getRecipe)query不返回 Promise,所以我不确定如何等待要在里面获取的值script

<script>
    import { gql, operationStore, query } from '@urql/svelte'

    // Here, urql creates a writable store
    const getRecipe = operationStore(gql`...`)
    query(getRecipe)

    // How can I get the value of servings?
    const servings = getRecipe?.data?.servings
</script>
4

1 回答 1

0

如果你这样做const servings = ...,它将始终具有可能是undefined的初始值。如果您希望在加载配方并将数据更改为反应式后更新服务:

$: servings = getRecipe?.data?.servings

这将有效地表示“只要右手边的内容发生变化,就重新计算份量

于 2022-02-15T06:52:12.737 回答