美文网首页
Svelte教程翻译(二、Props)

Svelte教程翻译(二、Props)

作者: 尘埃__ | 来源:发表于2021-06-30 10:26 被阅读0次

Props

到目前为止,我们只处理内部状态,也就是说,只能在给定的组件中访问这些值。

在任何真正的应用程序中,都需要将数据从一个组件传递到其子组件。要做到这一点,我们需要声明属性,通常简称为“ props”。在Svelte中,我们使用export关键字来实现这一点。编辑Nested.svelte组件:

<script>
    export let answer;
</script>

<p>The answer is {answer}</p>

就像 $: ,刚开始可能会感觉有点奇怪。在JavaScript模块中导出通常不是这样工作的!现在就顺其自然吧ーー它很快就会成为你的第二天性。

App.svelte文件:

<script>
    import Nested from './Nested.svelte';
</script>

<Nested answer={42}/>

Props默认值

在neted.svelte中,我们可以很容易地为道具指定默认值:

<script>
    export let answer = 'a mystery';
</script>

如果我们现在添加第二个没有传值的组件,它将会使用默认值:

<Nested answer={42}/>
<Nested/>

输出:

The answer is 42
The answer is a mystery

Props传值

如果你有一个属性对象,你或者会这样传值:

<script>
    import Info from './Info.svelte';

    const pkg = {
        name: 'svelte',
        version: 3,
        speed: 'blazing',
        website: 'https://svelte.dev'
    };
</script>

<Info name={pkg.name} version={pkg.version} speed={pkg.speed} website={pkg.website}/>

但在Svelte中,你可以这样:

<script>
    import Info from './Info.svelte';

    const pkg = {
        name: 'svelte',
        version: 3,
        speed: 'blazing',
        website: 'https://svelte.dev'
    };
</script>

<Info {...pkg}/>

Info.svelte代码:

<script>
    export let name;
    export let version;
    export let speed;
    export let website;
</script>

<p>
    The <code>{name}</code> package is {speed} fast.
    Download version {version} from <a href="https://www.npmjs.com/package/{name}">npm</a>
    and <a href={website}>learn more here</a>
</p>

当然,如果需要引用传递到组件中的所有键值,包括那些没有通过export声明的键值,则可以直接访问$props。一般不推荐使用,因为Svelte很难进行优化,但在少数情况下非常有用。

如果想亲自演练以上的功能,可以稳步到Sevlte官网教程中亲自体验:Props

由于平台限制,所有外链均被删减,加上外链将会审核不通过,所以,想看完整版请移步至掘金。

相关文章

  • Svelte教程翻译(二、Props)

    Props 到目前为止,我们只处理内部状态,也就是说,只能在给定的组件中访问这些值。 在任何真正的应用程序中,都需...

  • svelte教程(3)props

    在任何实际应用程序中,您都需要将数据从一个组件传递到其子组件。为此,我们需要声明properties,通常将其缩写...

  • Svelte教程翻译(一、响应)

    响应 Svelte的核心是一个强大的响应系统,可以使DOM与应用程序状态保持同步ーー例如,响应一个事件。 为了演示...

  • Svelte中文文档 1基础介绍

    如果你有什么好的想法,或者翻译中存在什么错误,欢迎指正,非常感谢。原文地址 一.介绍 欢迎来到Svelte的教程。...

  • 2021 年年度最佳开源软件

    Svelte https://svelte.dev/[https://svelte.dev/] Svelte 是一...

  • 超级简短的 Svelte 框架入门教程,仅需十条推文

    Xiaoru "Leo" Li 原作,翻译转载自 New Frontend 。 总想了解下 Svelte(web ...

  • svelte教程(1)简介

    什么是svelte? Svelte是用于构建快速Web应用程序的工具。 它类似于React和Vue这样的JavaS...

  • svelte教程(4)逻辑

    条件逻辑 有条件的渲染一些元素,使用 "if" 代码块: 使用else代码块 多条件可以使用 else if: 循...

  • svelte教程(5)事件

    DOM 事件 事件绑定 您还可以内联声明事件处理程序,并且因为svelte实际上是一个编译器,所以并不会影响性能。...

  • svelte教程(8)stores

    有时,您将需要多个不相关的组件或常规的JavaScript模块访问这些值。 在Svelte,我们通过store来做...

网友评论

      本文标题:Svelte教程翻译(二、Props)

      本文链接:https://www.haomeiwen.com/subject/tyzlultx.html