如何不打印/输出Svelte应用程序的HTML中的花括号操作中的任何内容 [英] How to not print/output anything from a curly bracket operation within the HTML of a Svelte app

查看:11
本文介绍了如何不打印/输出Svelte应用程序的HTML中的花括号操作中的任何内容的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

可能需要直接对Svelte组件的If语句或每个循环中的变量执行操作。在本例中,我们在一个HTML‘each’循环中有一个变量jVar,并且我们希望将jVar的值更改为从调用‘updateJ’函数返回的任何值。

<blockquote style="border: 2px solid red;padding:10px;">
    {#each cats as { id, name, isCute }, i}
        {( jVar = updateJ(isCute) )}
        <div><h2>{i + 1}: {name} is {#if !jVar}<em style="color:red;">NOT!!!</em>{/if} cute</h2>
        </div>
    {/each}
</blockquote>

唯一的问题是我们不希望下面的语句将任何内容打印/输出到HTML。

{( jVar = updateJ(isCute) )}

它的编写方式是将jVar的值打印到HTML。有关此问题和答案的更多详细信息可在此处找到: https://svelte.dev/repl/095b7f2439dc42d380741350ea11b20f?version=3.22.3

推荐答案

有关工作示例,请参阅以下Svelte RePL应用程序: https://svelte.dev/repl/095b7f2439dc42d380741350ea11b20f?version=3.22.3

基本上,您需要做的是将语句修改为如下所示:

{returnNada ( jVar = updateJ(isCute) )}

...其中regyNada是一个简单的函数(我们将其添加到脚本标记中),它只会将一个空字符串返回到HTML输出,但仍然允许更新jVar变量。

这篇关于如何不打印/输出Svelte应用程序的HTML中的花括号操作中的任何内容的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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