插槽(slot)这个概念非常重要
插槽的使用场景1:在子组件里面显示父组件的dom
<div id='root'>
  <child content = '<p>Dell</p>'></child>
</div> <script>
Vue.component('child',{
  props:['content'],
  template:`
    <div>
      <p>hello</p>
      <div v-html='this.content'></div>
    </div>
  `
})
var vm = new Vue({
  el:'#root'
})
</script>
发现这样,能显示出来,但外层必须要包裹一层div,无法直接显示p,而且当内容比较多的时候,会比较难看,
这个时候就用到vue里面新到语法,slot
<div id='root'>
  <child>
    <h1>dell</h1>
  </child>
</div> <script>
Vue.component('child',{
  template:`
    <div>
      <p>hello</p>
      <slot></slot>
    </div>
  `
})
var vm = new Vue({
  el:'#root'
})
</script>

像这样,父组件里面直接写dom元素,通过slot引用,在子组件插入点内容,叫做插槽

slot特性
1、默认内容
Vue.component('child',{
  template:`
    <div>
      <p>hello</p>
      <slot>默认内容</slot>
    </div>
  `
})
如果父没传dom过来,slot会显示默认内容
2、当有多个slot的时候
<div id='root'>
  <body-content>
    <div class="header">header</div>
    <div class="footer">footer</div>
  </body-content>
</div> <script>
Vue.component('body-content',{
  template:`
    <div>
      <slot></slot>
      <div>content</div>
      <slot></slot>
    </div>
  `
})
var vm = new Vue({
  el:'#root'
})
</script>
像这样,肯定不对,页面会出现两个header,footer ,那怎么做,给slot取个名字,具名插槽
<div id='root'>
  <body-content>
    <div class="header" slot='header'>header</div>
    <div class="footer" slot='footer'>footer</div>
  </body-content>
</div> <script>
Vue.component('body-content',{
  template:`
    <div>
      <slot name='header'></slot>
      <div>content</div>
      <slot name='footer'></slot>
    </div>
  `
})
var vm = new Vue({
  el:'#root'
})
</script>
这样就可以,父组件中定义两个插槽,子组件进行相应的引用

在vue中使用插槽 slot的更多相关文章

  1. vue中的插槽slot

    插槽(slot):是组件的一块HTML模板,父组件决定这块模板显不显示以及怎么显示. 位置由子组件自身决定(slot现在组件template的什么位置,父组件传过来的模板将来就显示在什么位置) 匿名插 ...

  2. vue中的插槽slot理解

    本篇文章参考赛冷思的个人博客 1.函数默认传参 在我们写js函数我们的可能会给他们一个默认的参数,写法是 function show(age,name){ var age = age || 20; v ...

  3. Vue中的插槽---slot

    一:什么是插槽? 插槽(Slot)是Vue提出来的一个概念,正如名字一样,插槽用于决定将所携带的内容,插入到指定的某个位置,从而使模板分块,具有模块化的特质和更大的重用性. 插槽显不显示.怎样显示是由 ...

  4. vue中的插槽(slot)

    vue中的插槽,指的是子组件中提供给父组件使用的一个占位符,用<slot></slot>标签表示,父组件可以在这个占位符中填充任何模板代码,比如HTML.组件等,填充的内容会替 ...

  5. vue中具名插槽的使用

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. 详解Vue中的插槽

    作者: 小土豆 博客园:https://www.cnblogs.com/HouJiao/ 掘金:https://juejin.im/user/2436173500265335 什么是插槽 在日常的项目 ...

  7. 第八十九篇:Vue 重学插槽slot

    好家伙, 1.什么是插槽? 插槽是vue为组件的封装者提供的能力.允许开发者在封装组件时, 把不确定的,希望由用户指定的部分定义为插槽   我们依然可以把它理解为一个占位符 1.1.插槽的基本用法 试 ...

  8. vue中$refs、$slot、$nextTick相关的语法

    Vue 实例还暴露了一些有用的实例属性与方法.它们都有前缀 $,以便与用户定义的属性区分开来 1.$data和$el var data = { a: 1 } var vm = new Vue({ el ...

  9. vue中的插槽

    匿名插槽 // comp1 <div> <slot></slot> </div> // parent <comp>hello</com ...

随机推荐

  1. environment与@ConfigurationProperties的关系 加载过程分析

    environment是在printBanner之前就初始化好了, 更在context创建之前, 已经加载application-xxxx.properties, System.properties, ...

  2. 转 使用SwingBench 对Oracle RAC DB性能 压力测试

    ###########说明1: 1 Swingbench 简述 1.1 概述 这是Oracle UK的一个员工在一个被抛弃的项目的基础上开发的.目前稳定版本2.2,最新版本2.3,基于JDK1.5.该 ...

  3. bzoj1008: [HNOI2008]越狱 数学公式+快速幂

    bzoj1008: [HNOI2008]越狱      O(log N)---------------------------------------------------------------- ...

  4. Android NDK开发 字符串(四)

    几个概念首先要明确: java内部是使用16bit的unicode编码(UTF-16)来表示字符串的,无论中文英文都是2字节: jni内部是使用UTF-8编码来表示字符串的,UTF-8是变长编码的un ...

  5. HBuilder更换部分

    1.HBuilder工作空间的更换 HBuilder的默认工作空间的修改并不像其他ide一样,在设置里进行更改,而是在工具中进行设置. 1.单击菜单栏“工具”,选择“变更默认代码存放目录” 2.进行修 ...

  6. Python四大神兽(迭代器&生成器&闭包&装饰器)

    一.迭代器 迭代是Python最强大的功能之一,是访问集合元素的一种方式.. 迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不 ...

  7. CefSharp High DPI问题的解决

    使用CefSharp控件,在部分高分辨率的电脑中(显示缩放比例非100%,而是120%或者125%等)会出现以下一些情况: 显示的页面中出现了黑边,且按钮定位也偏了,比如点击[图层]按钮,需要点击上面 ...

  8. Annotation(注解)的概念、作用及常用注解

    Annotation的概念: 能够添加到 Java 源代码的语法元数据.类.方法.变量.参数.包都可以被注解,可用来将信息元数据与程序元素进行关联.Annotation 中文常译为“注解”. 从JDK ...

  9. springboot整合mybatis+oracle

    第一步 认识springboot :springboot是为了解决配置文件多,各个组件不统一的问题,它省去了很多配置文件,同时实现了spring产品的整合. 创建springboot项目:通过选择sp ...

  10. CSS选择器备忘录

    CSS选择器备忘录 基本选择器 Selector Meaning Example 通用选择器 匹配任何元素 * 标签选择器 CSS1中称之为元素选择器,匹配为指定标签的所有元素 div 伪元素选择器 ...