IDC

Svelte教程翻译(二、Props)

作者:admin 2021-08-02 我要评论

Props 到目前为止,我们只处理内部状态,也就是说,只能在给定的组件中访问这些值。 在任何真正的应用程序中,都需要将数据从一个组件传递到其子组件。要做到这...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

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


本文转自网络,版权归原作者所有,原文链接:https://segmentfault.com/a/1190000040440507

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • Svelte教程翻译(二、Props)

    Svelte教程翻译(二、Props)

  • 阿里云边缘云助力东京奥运会高清点播,

    阿里云边缘云助力东京奥运会高清点播,

  • Java 异步编程的几种方式

    Java 异步编程的几种方式

  • Python推送小程序订阅消息

    Python推送小程序订阅消息

腾讯云代理商
海外云服务器