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时会用到插槽”,这并不能很好的解决我的疑惑.既然你用了子组件,你为什么要给 ...
随机推荐
- 框架里增加.env文件的作用
在实际开发中我们常常遇到这样的问题,就是开发地点不固定,这就造成了我们需要频繁的更改数据库配置,给开发工作造成了麻烦,.env环境文件的出现解决了这个麻烦,我们只需要在不同的工作地点配置好.env文件 ...
- WPF 释放嵌入资源
资源文件名称:默认命名空间.文件名 || 默认命名空间.文件夹名.文件名 /// <summary> /// 提取文件 /// </summary> /// <param ...
- 虚拟机ifconfig 没有IP地址显示
虚拟机centos 找不到IP地址 -----------------下图解决后有ip地址----------------------- 1. 查看网络IP和网关 >>1. 查 ...
- Secondary NameNode:它究竟有什么作用?
前言 最近刚接触Hadoop, 一直没有弄明白NameNode和Secondary NameNode的区别和关系.很多人都认为,Secondary NameNode是NameNode的备份,是为了防止 ...
- hdu 1007 Quoit Design(平面最近点对)
题意:求平面最近点对之间的距离 解:首先可以想到枚举的方法,枚举i,枚举j算点i和点j之间的距离,时间复杂度O(n2). 如果采用分治的思想,如果我们知道左半边点对答案d1,和右半边点的答案d2,如何 ...
- 积分题1之来自G.Han的一道积分题
今天,收到G.Han的提问,第一个是计算积分 \[\int_0^{\infty}{\frac{\ln x}{(x^2+1)^n}dx}\]顿时不明觉厉,然后在宝典<Table of Integr ...
- C语言 switch
C语言 switch 功能:获取到值对应成立不同表达式. 优点:switch 语句执行效率比if语句要快,switch是通过开关选择的方式执行,而if语句是从开头判断到结尾. 缺点:不能判断多个区间. ...
- Spring里面AOP的和IOC的理解
1.Spring里面AOP的理解:https://www.cnblogs.com/hongwz/p/5764917.html例如日志功能.日志代码往往横向地散布在所有对象层次中,而与它对应的对象的核心 ...
- vue自学入门-8(vue slot-scope)
vue自学入门-1(Windows下搭建vue环境) vue自学入门-2(vue创建项目) vue自学入门-3(vue第一个例子) vue自学入门-4(vue slot) vue自学入门-5(vuex ...
- 自动生成admin(后台)
public --->>>>index.php 入口文件如下: // +---------------------------------------------------- ...