• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

初始化前没办法访问“variable_name"

用户头像
it1352
帮助1

问题说明

当通过使用 $: 语法声明它们来使用反应性变量时,您会收到以下错误.

When using reactive variables by declaring them using the $: syntax, you get the following error.

初始化前无法访问'variable_name'

代码如下:

App.svelte

<script>
    import { ledzep, redhotchilis } from './data.js'
    
    $: bandmembers = [...ledzep, ...redhotchilis]
    
    let namesWithA = bandmembers.filter(d => {
            if (d.indexOf('a') > 0) {               
                return true;
            }
        else {
            return false
        }
    })
    
</script>
<h2>Band Members</h2>
<ul>
{#each bandmembers as member}
    <li>{member}</li>
{/each}
</ul>

<h2>Members with "A" in their names</h2>
<ul>
{#each namesWithA as member}
    <li>{member}</li>
{/each}
</ul>

data.js

export const ledzep = ["Jimmy Page", "John Bonham", "Robert Plant", "John Paul Jones"]
export const redhotchilis = ["Anthony Kiedis", "Flea", "Chad Smith", "Josh Klinghoffer"]

正确答案

#1

当您使用 $: 分配变量时,您不能将它们分配为使用 let 声明的其他变量的一部分、constvar.

When you assign variables using $: you cannot assign them as part of other variables declared using let, const, or var.

当你使用 $: 赋值时,你只能在其他使用 $: 赋值的变量中使用它们.在上面发布的代码中,您需要更改以下几行:

When you do assignments using $:, you can only use them in other variables assigned using $:. In the code posted above, you need to change the following lines:

let namesWithA = bandmembers.filter(d => {
            if (d.indexOf('a') > 0) {               
                return true;
            }
        else {
            return false
        }
    })

以下内容:

$: namesWithA = bandmembers.filter(d => {
            if (d.indexOf('a') > 0) {               
                return true;
            }
        else {
            return false
        }
    })

我花了一段时间才弄明白这一点,只是想与任何其他开始使用这项新技术的 Svelte 新手分享.

It took me a while to figure this out and just wanted to share this with any other Svelte newbies that are starting out in this new technology.

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /reply/detail/tanhcfhgei
系列文章
更多 icon
同类精品
更多 icon
继续加载