vue-插槽的基本使用
之前我们使用的组件他的拓展性是特别差的,因为组件的内部标签是固定写死的,就会导致这个组件的复用性很差,比如一个导航栏组件,他里面的组成部分是根据需求不同而定的,因此里面的标签不能写死,而插槽的出现刚好能解决这个问题,一个组件里面预留几个空间,根据需求往里面填充不同的标签,这就是插槽
下面我们看下代码:
<body> <div id="app"> <ccomponent> <span>我是第一个插槽</span> </ccomponent> <ccomponent> <button>我是按钮</button> </ccomponent> <ccomponent></ccomponent> <ccomponent> <p>2</p> <i>3</i> </ccomponent> </div> </body> <template id="tem"> <div> <span>我是子组件</span> <slot> <h1>我是默认值</h1> </slot> </div> </template> <script> const ccomponent = { //data,props,methods,template,component template: '#tem' } var vm = new Vue({ el: '#app', data: {}, methods: {}, components: { ccomponent } }); </script>
从上面的代码可以总结3个知识点:
1. 在模板定义一个插槽,当使用组件时不添加任何标签时,插槽是空的
2. 要填充插槽,只需要往子组件中插入一个标签即可
3. 插槽是可以有默认标签的,只需要在<slot></slot>里加标签即可
4. 当只有一个插槽,但是插了好几个标签,这时候这几个标签会被视为一个整体插入到该插槽中。
最后再说一下父子组件的关系 和 组件和插槽的关系 的区别所在:
1. 一般我们会把比较固定的代码封装成一个组件,目的是为了方便最大地复用,比如现在有一个父组件,这个父组件需要一个导航栏组件,那就找一个已经写好的导航栏的子组件插到父组件中;总结就是组件是已经固定套路的代码
2. 组件和插槽的关系是动态的,因为你不知道组件的布局和元素是什么,这时候我们就不能提前把子组件给写好了,得根据具体情况判断,这种组件和插槽的关系会更灵活,但复用性会低一点。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
2020-03-26 JavaSE-JVM的内存划分
2020-03-26 JavaSE-逻辑运算符
2020-03-26 JavaSE-数据类型转换