一、插槽的基本使用

二、具名插槽的使用

三、编译作用域的例子

四、作用域插槽

一、插槽的基本使用

    1.插槽的基本使用<slot></slot>
    2.插槽的默认值<slot>button</slot>
    3.如有多个值,同时放入到组件进行替换时,一起作为替换元素
<div id="app">
<h1>我是父组件</h1>
<cpn><button>按钮</button></cpn>
<cpn><span>span标签</span></cpn>
<cpn><input type="text"></cpn>
<cpn>
<i>我这有这么多</i>
<span>wo</span>
<button>666</button>
</cpn>
<cpn></cpn>
</div>
<template id="templ">
<div>
<h2>我是组件</h2>
<p>我是组件啊啊啊啊啊</p>
<slot><button>我是默认值</button></slot><!--插槽的默认值-->
</div>
</template>
<script src="/js/vue.js"></script>
<script>
const vm = new Vue({
el:'#app',
data:{},
components:{
cpn:{
template:"#templ"
}
}
});
</script>

插槽的基本使用

二、具名插槽的使用

<!--导航栏效果 分为左中右-->
<div id="app">
<!-- 替换中间的 -->
<cpn><input type="text" placeholder="搜索" slot="center"></cpn>
<!-- 替换左边的 -->
<cpn><button slot="left">返回</button></cpn>
<!-- 替换右边的 -->
<cpn><button slot="right">前进</button></cpn slot="right">
</div> <template id="templ">
<div>
<slot name = "left"><span>左边</span></slot>
<slot name = "center"><span>中间</span></slot>
<slot name="right"><span>我是默认值</span></slot><!--插槽的默认值-->
</div>
</template>

具名插槽

上面的方法是旧的,已弃用。

三、编译作用域的例子

<div id="app">
<cpn v-show="isShow"></cpn>
</div> <template id="templ">
<div>
<h2>我是子组件</h2>
<p>我是组件啊啊啊啊啊</p>
<button v-show="isShow">我用的是组件里的data</button>
</div>
</template>
<!-- 不关心你用的是哪个组件,看你是在哪个模板 -->
<script src="/js/vue.js"></script>
<script>
const vm = new Vue({
el:'#app',
data:{
isShow:true//模板里是按照这个来的。
},
components:{
cpn:{
template:"#templ",
data(){
return{
isShow:false//子组件中是使用这个值
}
}
}
}
});

什么是编译作用域

四、作用域插槽

 <div id="app">
<cpn></cpn>
<!-- 父组件在展示时希望中间以其他形式分割 -->
<!-- 目的:获取子组件中的lang
vue2.5.x以下要用<template></template>模板-->
<cpn>
<template slot-scope="slot">
<span v-for="items in slot.data">{{items}}-</span>
</template>
</cpn>
<cpn>
<template slot-scope="slot">
<span>{{slot.data.join(' * ')}}</span>
</template>
</cpn>
</div> <template id="templ">
<div>
<slot :data="lang">
<ul>
<li v-for="items in lang">{{items}}</li>
</ul>
</slot>
</div>
</template>
<!-- 父组件替换插槽的标签,内容由子组件来提供 -->
<script src="/js/vue.js"></script>
<script>
const vm = new Vue({
el:'#app',
data:{
},
components:{
cpn:{
template:"#templ",
data(){
return{
lang:['JavaScript','C++','Python','Java','Go']
}
},
created(){
// this.lang.join(' - ');
}
}
}
});
</script>

作用域插槽

上面的方法是旧的,已弃用。

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

  1. Vue插槽:(2.6.0以后版本弃用slot和slot-scope,改用v-slot)

    关于Vue插槽的概念,大家可以从vue官网的api查看,我是看到网站的对于初接触 这个要概念的人来说不是很清楚,我来贴下原码,就比较直观了 贴下原码: 具名插槽:v-slot:header Html: ...

  2. Vue 插槽详解

    Vue插槽,是学习vue中必不可少的一节,当初刚接触vue的时候,对这些掌握的一知半解,特别是作用域插槽一直没明白. 后面越来越发现插槽的好用. 分享一下插槽的一些知识吧. 分一下几点: 1.插槽内可 ...

  3. Vue插槽的另外一些特性

    之前有个项目,想判断一下,某一个模板内的插槽是否被使用. 不知道是不是问题过于简单,网上没有这方面的说明.我就抽时间验证一下vue插槽相关的一些功能. 然后写下这篇随笔,希望对后来人能有一些帮助. 简 ...

  4. 学习笔记:Vue——插槽

    关于Vue插槽,只用过最简单的语法,现在完整地走一遍官方文档说明,并且探索更多用法. 01.如果组件中没有包含一个<slot>元素,则该组件起始标签和结束标签之间的任何内容都会被抛弃. 0 ...

  5. vue插槽用法(极客时间Vue视频笔记)

    vue插槽 插槽是用来传递复杂的内容,类似方法 <!DOCTYPE html> <html lang="en"> <head> <meta ...

  6. Vue插槽的深入理解和应用

    一开始接触vue时并不知道插槽是什么,后来看了很多文章也是一知半解.然后自己手动敲了一下,在项目中实际应用一下,实在太好用了.后来做小程序后发现也能使用slot,不单单在vue中使用.我就是这么目光短 ...

  7. Vue 插槽

    插槽的概念: 插槽的关键字slot,默认情况下,组件中的模板会覆盖组件中的原始内容(即自定义标签对内部的内容会不显示),解决办法就是使用插槽. 组件的原始内容: 即在vue实例范围之内,因此可以调用实 ...

  8. vue 插槽slot

    本文是对官网内容的整理 https://cn.vuejs.org/v2/guide/components.html#编译作用域 在使用组件时,我们常常要像这样组合它们: <app> < ...

  9. Vue插槽 slot

    1. 什么是插槽 插槽slot 是往父组件中插入额外内容,实现组件的复用,一个插槽插入到一个对应的标签中 2. 实例: 一个组件中不允许有两个匿名插槽 </head> <body&g ...

  10. vue插槽slot的理解与使用

    一.个人理解及插槽的使用场景 刚开始看教程我的疑惑是为什么要用插槽,它的使用场景是什么,很多解释都是“父组件向子组件传递dom时会用到插槽”,这并不能很好的解决我的疑惑.既然你用了子组件,你为什么要给 ...

随机推荐

  1. MY_0003:设置界面显示单位

    1,设置单位

  2. Cobalt Strike配置及简单使用

    前言 CS分为客户端与服务端,服务端是一个,客户端可以有多个,非常适合团队协同作战,多个攻击者可以同时连接到一个团队服务器上,共享攻击资源与目标信息和sessions,可模拟APT做模拟对抗,进行内网 ...

  3. NOI Online能力测试游记:退役选手的自娱自乐

    2020年2月17日早上8点,CCF发布了关于举办NOI Online能力测试的通知. 为给选手提供一个锻炼的机会,CCF拟举办一场NOI Online能力测试.测试分为入门组和提高组,每组限额报名3 ...

  4. POJ1776(哈密顿路径)

    题目: http://poj.org/problem?id=1776 题意: 给出一个n*n的矩阵,若第i个任务做完之后可以做第j个任务,则矩阵的第i行第j列为1,否则为0.机器完成一项任务之后会自动 ...

  5. [转]从实例谈OOP、工厂模式和重构

    有了翅膀才能飞,欠缺灵活的代码就象冻坏了翅膀的鸟儿.不能飞翔,就少了几许灵动的气韵.我们需要给代码带去温暖的阳光,让僵冷的翅膀重新飞起来.结合实例,通过应用OOP.设计模式和重构,你会看到代码是怎样一 ...

  6. linux-crond_计划任务

    定时计划任务 主要文件介绍: [root@nginx ~]# ll /etc/cron* -d drwxr-xr-x. 2 root root 21 7月 11 20:28 /etc/cron.d d ...

  7. Vuejs开发环境的搭建

    Windows系统上搭建VueJS开发环境 1.安装node.js:在node.js官网下载对应系统的msi包并安装 注:node的安装分全局和本地模式.一般情况下会以本地模式运行,包会被安装到和你的 ...

  8. 《深入理解java虚拟机》读书笔记十一——第十二章

    第十二章  Java内存模型与线程 1.硬件效率与一致性 由于计算机的存储设备与处理器的运算速度有几个数量级的差距,所以现代计算机系统都不得不加入一层读写速度尽可能接近处理器运算速度的高速缓存(Cac ...

  9. IT人的乐趣与价值

    it人员“偷摸”实现个人潜在价值的一些方向.    1.做一名站长.现在做一个个人博客或者CMS系统,都可以从网上找到相关开源的程序.花十几块钱申请个域名,再花个百来块租个空间,你就具备了当站长的外界 ...

  10. navicat永久激活

    https://jingyan.baidu.com/article/f54ae2fc51f0311e92b84998.html