插槽(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. 利用Content-disposition实现无刷新下载图片文件

    今天在使用 tinypng.com 这个在线压缩图片的网站时,对其处理完图片后,可以无刷新下载图片感到好奇,于是了解了一下相关实现.无刷新下载可以利用MIME type或者设置Content-disp ...

  2. tomcat 虚拟目录配置appBase和docBase的区别

    先看server.xml文件host配置   <Host name="localhost" appBase="webapps"      可以修改成自己想 ...

  3. springBoot学习资料

    转载:http://www.importnew.com/29363.html 官网搭建springBoot项目:https://www.cnblogs.com/lcplcpjava/p/7406253 ...

  4. 问题:git add 遇到 warning: LF will be replaced by CRLF in 警告(已解决)

    问题描述: git add file_name 提交文件时候提示 自动转换 CRLF 标识 如下图: 解决方法: 执行下面代码在命令行中执行: git config --global core.aut ...

  5. 利用vue-cli搭建vue项目

    手把手教你用vue-cli搭建vue项目 本篇主要是利用vue-cli来搭建vue项目,其中前提是node和npm已经安装好,文章结尾将会简单提到一个简单的例子.使用vue-cli搭建项目最开始我也是 ...

  6. Vue 参数传递及刷新后依旧存在

    获取参数方式有两种: 1.params2.query 第一种方式: params this.$router.push({name:'Hello',params:{name:'zs',age:'22'} ...

  7. Indexing the World Wide Web: the Journey So Far阅读笔记

    文献文档用google搜索标题即可. term预处理:用空格切分,去除标点,去除撇号,归一化小写,去除变音符号,词干还原(?),去除停用词,挖掘词组. 索引选型工程最佳实践:term粒度.按doc分块 ...

  8. UGUI 用脚本动态改变Button颜色组合

    public Button button; void Start() { ColorBlock cb = new ColorBlock(); cb.normalColor = Color.red; c ...

  9. 性能测试工具Jmeter07-Jmeter性能测试实战

    测试需求:测试20个用户访问www.baozhenart.com在负载达到30QPS时的平均响应时间 QPS:Query Per Second每秒查询率.是一台查询服务器每秒能够处理的查询次数.在因特 ...

  10. MATLAB字符串处理

    字符串处理 MATLAB中字符串用单引号   如果字符串中存在单引号,要使用两个单引号. length()元素个数 (1)字符串的执行 格式:eval(s) s表示字符串 abs()和double() ...