Vuejs-组件-<slot> 标签分发内容

资料来自:https://cn.vuejs.org/v2/guide/components.html#具名-Slot

在官方文档的基础上,更加细致的讲解代码。

<slot> 标签中的任何内容都被视为备用内容,只有在宿主元素为空,它才显示。

1.单个slot

除非子组件模板包含至少一个 <slot> 插口,否则父组件的内容将丢弃。

<body >
    <div id="app">
        <h1>我是父组件的标题</h1>
        <my-component>
          <p>这是一些初始内容</p>
          <p>这是更多的初始内容</p>
        </my-component>
    </div>
        <script src="js/vue.min.js"></script>
        <script>
            new Vue({
              el:‘#app‘,
              components:{
                myComponent:{
                  template:‘<div><h2>我是子组件的标题</h2><slot>只有在没有要分发的内容时才会显示。</slot></div>‘,
            }
          }
        })
        </script>
</body>

2.具名slot

slot 可以有不同的名字。具名 slot 将匹配内容片段中所对应 slot 特性。

将对应的父组件嵌套到 具名 slot 的子组件 位置 的元素展示出来。

      <app-layout>
        <h1 slot="header">这里可能是一个页面标题</h1>
        <p>主要内容的一个段落。</p>
        <p>另一个主要段落。</p>
        <p slot="footer">这里有一些联系信息</p>
      </app-layout>
        <script src="js/vue.min.js"></script>
        <script>
        new Vue({
          el:‘#container‘,
          components:{
            appLayout:{
              template:‘<div class="container">                <header><slot name="header"></slot></header>                <main><slot></slot></main>                <footer><slot name="footer"></slot></footer>              </div>‘,
            }
          }
        })
时间: 2024-10-22 14:38:00

Vuejs-组件-<slot> 标签分发内容的相关文章

使用slot分发内容

为了让组件可以组合,我们需要一种方式来混合父组件的内容与子组件的模板.这个过程被称为 内容分发 使用特殊的<slot>元素作为原始内容的插槽 除非子组件模板包含至少一个<slot>插口,否则父组件的内容将会被丢弃.当子组件只有一个没有属性的slot时,父组件整个内容片断将插入到slot所在DOM位置,并替换掉slot标签本身. 最初在<slot>标签中的任何内容都被视为 备用内容.备用内容在子组件的作用域内编译.并且只有在宿主元素为空,且没有要插入的内容时才显示备用内容

vue2.0 slot 分发内容

1.概述: 简单来说,假如父组件需要在子组件内放一些DOM,那么这些DOM是显示.不显示.在哪个地方显示.如何显示,就是slot分发负责的活. 2.默认情况下 父组件在子组件内套的内容,是不显示的. 代码: 效果图: 显示内容是一个button按钮,不包含span标签里面的内容: 3.单个slot 简单来说,只使用这个标签的话,可以将父组件放在子组件的内容,放到想让他显示的地方. 代码: 例如这样写的话,结果是: <button><span>12345</span>为了

Vue_(组件通讯)使用solt分发内容

Vue特殊特性slot 传送门 有时候我们需要在自定义组件内书写一些内容,例如: <com-a> <h1>title</h1> </com-a> 如果想获取上面代码片段中h1标签的内容该怎么办呢?Vue提供了一个极为方便的内置组件<slot> Learn 一.使用solt分发内容 目录结构 [每个demo下方都存有html源码] 一.使用solt分发内容 在<my-component-a>组件中添加<h1>.<ul&

使用slot分发内容 作用域插槽

除非子组件模板包含至少一个<slot>插口,否则父组件的内容将会别丢弃.当子组件模板只有一个没有属性的slot时,父组件整个内容片断将插入到slot所在的DOM位置,并替换掉slot标签本身. 最初在 <slot> 标签中的任何内容都被视为备用内容.备用内容在子组件的作用域内编译,并且只有在宿主元素为空,且没有要插入的内容时才显示备用内容. 作用域插槽是一种特殊类型的插槽,用作使用一个(能够传递数据到)可重用模板替换已渲染元素. 在子组件中,只需将数据传递到插槽,就像你将 prop

Vue.js-----轻量高效的MVVM框架(十一、使用slot分发内容)

#单个slot html: <h3>#单个slot</h3> <!-- 定义child01模板 --> <template id="child01"> <div>this is temp01 component!</div> <slot> 如果没有分发内容,这里将会被显示 </slot> </template> <div id="dr01"> &l

vuejs组件参数校验

父组件向子组件传递一些参数,那么子组件有权对这些参数进行一个校验,这个就是组件参数校验 需求:父组件传递过来的必须是个字符串,这个要怎么去校验呢 <div id='root'> <child content='hello world'></child> </div> <script> Vue.component('child',{ props:{ content:String }, template:'<div>{{content}}

用xpath提取xml文档指定标签的内容

1 <?xml version="1.0" encoding="UTF-8"?> 2 <书架> 3 <书> 4 <书名 name="vvvb">何茂赟自传</书名> 5 <作者>何茂赟</作者> 6 <售价>500.00</售价> 7 <售价>1234元</售价><售价>1234元</售价>&

CSS实现pre标签中内容换行方法

CSS实现pre标签中内容换行方法技术 maybe yes 发表于2015-01-25 18:35 原文链接 : http://blog.lmlphp.com/archives/70  来自 : LMLPHP后院 HTML 中的 PRE 标签默认是不会换行的,即使声明了 word-wrap 和 word-break 属性也没有效果:DIV 标签可以很方便的换行,不会把页面撑破.因为这个原因,很多网站在显示代码的时候使用 DIV 来作为容器.使用 DIV 标签装载代码有个弊端,就是冗余内容太多,换

JQ和Js获取span标签的内容

html: 1 <span id="content">'我是span标签的内容'</span> javascript获取: 1 var content = document.getElementById("content").innerText; 2 var content = document.getElementById("content").innerHTML; jquery获取: 1 var cont=$(&quo