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时会用到插槽”,这并不能很好的解决我的疑惑.既然你用了子组件,你为什么要给 ...
随机推荐
- PHP0007:PHP基础-字符串
php设置编码 用gbk编码识别utf8字符
- ZooKeeper启动报错:My id 3 not in the peer list
错误描述: 解决方法:查看zookeeper-3.4.2/conf目录下 编辑zoo.cfg文件 发现第三行有问题修改
- C语言递归之二叉树的最小深度
题目描述 给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明: 叶子节点是指没有子节点的节点. 示例 输入:[3,9,20,null,null,15,7] ...
- mybatis第二天02
MyBatis第二天内容 1.mybatis的执行原理 通过: 1.全局配置文件SqlMapConfig.xml 映射文件mapper.xml 获取得到SqlSessinFactory工厂 2.由工 ...
- Java知识串讲
一.JDK个版本之间的区别: 1.JDK1.5的新特性: 泛型ArrayList list = new ArrayList();-->ArrayList<int> list = ne ...
- mysql远程连接失败的两种解决方法
---恢复内容开始--- (这是转载别人的,因为我觉得很有用,每次都是参考这个的第二种方法解决的,不管你听不听得到,先说声谢谢!也记下来方便大家看看) mysql解决远程不能访问的二种方法,需要的朋友 ...
- SmtpStatusCode Enum
- harbor仓库部署时启用https时的常见错误KeyError: 'certificate'等
出现 KeyError: 'certificate' 错误 先确认你的配置是否正确,例如harbor.yml里的https证书位置是否正确,证书是否正常无误 如果上述无误确反复报错,请确认你的harb ...
- Cenos7 学习笔记
一.nmtui nmtui——Text User Interface for controlling NetworkManager,这是一个NetworkManager服务的网卡接口配置工具,能实现在 ...
- webpack 代理问题
devServer host: '0.0.0.0' 或者是ip 形式的 ,proxy 中 的 target,host 需要为ip形式的地址, host: 'aa.a.com' 为字符形式的 ,prox ...