程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

Vue.js : 插槽slot的使用

发布于2021-03-13 18:39     阅读(924)     评论(0)     点赞(27)     收藏(0)


一丶插槽slot


(一)slot翻译为插槽

  • 插槽的目的是让我们原来的设备具有更多的扩展性
  • 比如电脑的USB插槽,可以插入U盘,键盘,鼠标等

(二)组件的插槽

  • 组件的插槽也是为封装的组件更具有扩展性
  • 组件内部的展示什么,由外界来决定

插槽即预留的空间。一般定义可复用性组件时,使用插槽

二丶插槽基本使用

  • 代码
  1. <!--作者:ikunsdc-->
  2. <!--开发时间:2021/03/11 00:08-->
  3. <!DOCTYPE html>
  4. <html lang="en">
  5. <head>
  6. <meta charset="UTF-8">
  7. <title>Title</title>
  8. </head>
  9. <body>
  10. <!--1.插槽的基本使用,<slot></slot>-->
  11. <!--2.插槽的默认值 <slot>button</slot>-->
  12. <!--3.如果有多个值,同时放入到组件进行替换时,一起作为替换元素-->
  13. <div id="app">
  14. <cpn><button>按钮</button></cpn>
  15. <cpn>
  16. <i>呵呵呵</i>
  17. <div>我是DIV元素</div>
  18. <p>我是段落</p>
  19. </cpn>
  20. <cpn></cpn>
  21. </div>
  22. <template id="cpn">
  23. <div>
  24. <h2>我是key</h2>
  25. <p>我是内容</p>
  26. <slot></slot>
  27. <hr>
  28. </div>
  29. </template>
  30. <template id="cpn2">
  31. <slot></slot>
  32. <hr>
  33. </div>
  34. </template>
  35. <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
  36. <script>
  37. const app = new Vue({
  38. el:"#app",
  39. data:{
  40. },
  41. components:{
  42. cpn:{
  43. template:'#cpn'
  44. }
  45. }
  46. })
  47. </script>
  48. </body>
  49. </html>
  • 运行 

 

三丶具名插槽的使用 

当组件中由多个插槽时,给每个插槽命名,调用时指定替换哪个插槽

  • 代码
  1. <!--作者:ikunsdc-->
  2. <!--开发时间:2021/03/11 00:08-->
  3. <!DOCTYPE html>
  4. <html lang="en">
  5. <head>
  6. <meta charset="UTF-8">
  7. <title>Title</title>
  8. </head>
  9. <body>
  10. <div id="app">
  11. <cpn>
  12. </cpn>
  13. <hr>
  14. <cpn>
  15. <!-- 替换时,根据名字,指定替换某个插槽-->
  16. <span slot="center">标题</span>
  17. <span slot="left">返回</span>
  18. <span slot="right">更多</span>
  19. </cpn>
  20. </div>
  21. <template id="cpn">
  22. <div>
  23. <!-- 给slot取名, slot中间均是默认值-->
  24. <slot name="left"><span>左边</span></slot>
  25. <slot name="center"><span>中间</span></slot>
  26. <slot name="right"><span>右边</span></slot>
  27. </div>
  28. </template>
  29. <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
  30. <script>
  31. const app = new Vue({
  32. el:"#app",
  33. data:{
  34. },
  35. components:{
  36. cpn:{
  37. template:'#cpn'
  38. }
  39. }
  40. })
  41. </script>
  42. </body>
  43. </html>
  • 运行

 

                                                                                                 ——  Git ——

原文链接:https://blog.csdn.net/m0_55331605/article/details/114649928




所属网站分类: 技术文章 > 博客

作者:程序员的人生

链接:http://www.qianduanheidong.com/blog/article/35782/56afc6d3baec64cf2d68/

来源:前端黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

27 0
收藏该文
已收藏

评论内容:(最多支持255个字符)