码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • SveletJs学习——属性(组件传值)


    1. 属性

    当我们在开发程序的时候,不可避免的要进行组件之间的通信。

    父子组件传值:

    • 父组件中引用并使用子组件,通过属性的方式将值传递给子组件
    • 子组件声明父组件传递过来的属性,并使用
    • 父组件传过来的值的优先级高于子组件本身定义的,相当于子组件定义接收参数如果带值的话是默认值,父组件不传则展示默认值,传则展示父组件传入的值
    父组件:
    <script>
    	import Header from "./components/Header.svelte";
    	let headerContent = "首页"
    </script>
    
    <main>
    	<Header headerContent={headerContent}/>
    </main>
    
    <style>
    </style>
    
    子组件:
    <script>
        export let headerContent = '不用'
    </script>
    <h1>
        {headerContent}
    </h1>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    执行上述代码,在页面中展示的内容为’首页’,若<Header/> 不传参数,则展示’不用’

    2. 属性传递

    如果你的组件含有一个对象属性,可以利用...语法将他们传递到另一个组件上去,而不需要逐个指定。

    父组件:
    <script>
    	import Header from "./components/Header.svelte";
    	let headerContent = {
    		title: '首页',
    		desc: '首页描述信息',
    		version: '1.0'
    	}
    </script>
    
    <main>
    	<Header {...headerContent}/>
    </main>
    
    <style>
    </style>
    
    子组件:
    <script>
    
    </script>
    <h1>
        {$$props.title}
        {$$props.version}
    </h1>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    可以通过$$props直接获取需要引用传递到组件中的所有参数,可以在子组件中不export的参数。不建议这样做,直接属性传递,export的那种比较好维护处理

    不使用...传值要这样书写哦:
    <Header {headerContent}/>
    
    {$$props.headerContent.title}
    
    • 1
    • 2
    • 3
    • 4

    使用…是将headerContent每一个键依次传入,所以$$props应该是{title: ‘’, version: ‘’},不使用则是{headerContent: {title: ‘’, version: ‘’}}

    官方文档
    如果有用,点个赞呗~

    总结用法,希望可以帮助到你,
    我是Ably,你无须超越谁,只要超越昨天的自己就好~

  • 相关阅读:
    在 openresty 中使用 capnp lua 库
    通过电商API接口,代购系统可以获取到商品、订单、物流等多种信息
    《吐血整理》高级系列教程-吃透Fiddler抓包教程(22)-如何使用Fiddler生成Jmeter脚本-下篇
    【Java+SpringBoot】外卖点餐系统
    数据库系统及应用复习——第二章关系数据库
    nodejs入门及常用模块(http、fs、path)
    Docker部署系列之Docker Compose安装Redis三主三从集群
    Vue3 | Vue3与Vue2相比的优势、创建项目的方式以及一些常见的Compositioin API
    SuperMap iDesktopX基于地形DEM数据做最佳路径分析
    lwip_网卡
  • 原文地址:https://blog.csdn.net/weixin_44593720/article/details/125413427
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号