vue插槽的使用
一、插槽的基本使用
<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插槽的使用的更多相关文章
- Vue插槽:(2.6.0以后版本弃用slot和slot-scope,改用v-slot)
关于Vue插槽的概念,大家可以从vue官网的api查看,我是看到网站的对于初接触 这个要概念的人来说不是很清楚,我来贴下原码,就比较直观了 贴下原码: 具名插槽:v-slot:header Html: ...
- Vue 插槽详解
Vue插槽,是学习vue中必不可少的一节,当初刚接触vue的时候,对这些掌握的一知半解,特别是作用域插槽一直没明白. 后面越来越发现插槽的好用. 分享一下插槽的一些知识吧. 分一下几点: 1.插槽内可 ...
- Vue插槽的另外一些特性
之前有个项目,想判断一下,某一个模板内的插槽是否被使用. 不知道是不是问题过于简单,网上没有这方面的说明.我就抽时间验证一下vue插槽相关的一些功能. 然后写下这篇随笔,希望对后来人能有一些帮助. 简 ...
- 学习笔记:Vue——插槽
关于Vue插槽,只用过最简单的语法,现在完整地走一遍官方文档说明,并且探索更多用法. 01.如果组件中没有包含一个<slot>元素,则该组件起始标签和结束标签之间的任何内容都会被抛弃. 0 ...
- vue插槽用法(极客时间Vue视频笔记)
vue插槽 插槽是用来传递复杂的内容,类似方法 <!DOCTYPE html> <html lang="en"> <head> <meta ...
- Vue插槽的深入理解和应用
一开始接触vue时并不知道插槽是什么,后来看了很多文章也是一知半解.然后自己手动敲了一下,在项目中实际应用一下,实在太好用了.后来做小程序后发现也能使用slot,不单单在vue中使用.我就是这么目光短 ...
- Vue 插槽
插槽的概念: 插槽的关键字slot,默认情况下,组件中的模板会覆盖组件中的原始内容(即自定义标签对内部的内容会不显示),解决办法就是使用插槽. 组件的原始内容: 即在vue实例范围之内,因此可以调用实 ...
- vue 插槽slot
本文是对官网内容的整理 https://cn.vuejs.org/v2/guide/components.html#编译作用域 在使用组件时,我们常常要像这样组合它们: <app> < ...
- Vue插槽 slot
1. 什么是插槽 插槽slot 是往父组件中插入额外内容,实现组件的复用,一个插槽插入到一个对应的标签中 2. 实例: 一个组件中不允许有两个匿名插槽 </head> <body&g ...
- vue插槽slot的理解与使用
一.个人理解及插槽的使用场景 刚开始看教程我的疑惑是为什么要用插槽,它的使用场景是什么,很多解释都是“父组件向子组件传递dom时会用到插槽”,这并不能很好的解决我的疑惑.既然你用了子组件,你为什么要给 ...
随机推荐
- JS格式时间
Date.prototype.format = function(format) { var o = { "M+": this.getMonth() + 1, //month &q ...
- mybatis+maven自动生成代码框架
说明 通过可配置化,通过数据库自动生成model,da和mapper文件,这对于可定制化开发来说是非常有用的,减少了很多重复的工作. 添加依赖 <properties> <proje ...
- Centos中Python升级为3.X时yum出现except OSError, e: ^ SyntaxError: invalid syntax问题 No module named 'pip._internal.main
CentOS 7升级Python到3.7.2后,需要在/usr/bin/python创建了一个指向Python 3的软连接,然后将/usr/bin/yum的顶部的: !/usr/bin/python ...
- Android电源管理基础知识整理
前言 待机.睡眠与休眠的区别? Android开发者官网当中提到"idle states",该如何理解,这个状态会对设备及我们的程序造成何种影响? 进入Doze模式中的idle状态 ...
- [Java]对double变量进行四舍五入,并保留小数点后位数
1.功能 将double类型变量进行四舍五入,并保留小数点后位数 2.代码 import java.math.BigDecimal; import java.math.RoundingMode; im ...
- python之路(列表,元组)
列表 list:基础数据类型之一,可以索引,切片,步长,切片+步长可以增删改查,可迭代,可嵌套字典,元组,列表 一.索引,切片,步长 list01 = [1,2,3,'eric','west'] 1. ...
- win10专业工作站版密钥|win10专业工作站版key|win10专业工作站版激活码
一.windows10专业工作站零售版密钥 永久激活 Win 10 ProfessionalWorkstation Retail [Key]:DXG7C-N36C4-C4HTG-X4T3X-2YV77 ...
- eclipse运行错误提示 Failed to load D:\Android\sdk\build-tools\26.0.0-preview\lib\dx.jar
前几天在ecplise上运行项目还好好,今天一运行就提示这个错误:Your project contains error(s), please fix them before running your ...
- jQuery---scrollTop和scrollLeft的方法
scrollTop和scrollLeft的方法 <script src="jquery-1.12.4.js"></script> <script> ...
- 将HTML保存为PDF
使用的是 jsPDF 引用 <script src="https://code.jquery.com/jquery-git.js"></script> ...