vue 插槽 part3
f
vue中的插槽
1.<slot>默认内容</slot>
当副组件不传递信息的时候 显示默认内容
2.<slot></slot> 显示的是插槽中所有的数据
不具名插槽只有一个
具名插槽(可以有多个)
父:<div slot="h"></div>
子: <slot name="h"></slot>
//template 中不能单独使用slot 要使用包裹
VUE中的作用域插槽 //作用域插槽需要用一层template包裹
<section class="app">
<counter>
<template slot-scope="props">
<li>{{props.item}}</li>
</template>
</counter>
</section>
<script>
Vue.component("counter", {
template:` <section>
<ul>
<slot v-for="item of list"
:item="item">
</slot>
</ul>
</section>`,
data: function () {
return {
list:[1, 2, 3, 4]
}
}
})
var vm = new Vue({
el: ".app",
})
</script>
v-once 可以提高性能
一些静态内容展示效率
VUE动态组件
常规方法
<section class="app">
<counter-one v-if="type === 'counter -one'"></counter-one>
<counter-two v-if="type === 'counter -two'"></counter-two>
<button @click="handle">Change</button>
</section> <script>
Vue.component("counter-one", {
template:"<p>counter-one</p>",
}) Vue.component("counter-two", {
template:"<p>counter-two</p>",
}) var vm = new Vue({
el: ".app",
data: {
type:"counter -one"
},
methods:{
handle: function () {
console.log("come")
this.type = this.type === "counter -one" ? "counter -two" : "counter -one"
}
}
})
</script>
动态组件方法
<component :is="type"></component>
<section class="app">
<component :is="type"></component>
<!-- <counter-one v-if="type === 'counter -one'"></counter-one>-->
<!-- <counter-two v-if="type === 'counter -two'"></counter-two>-->
<button @click="handle">Change</button>
</section> <script>
Vue.component("counter-one", {
template:"<p>counter-one</p>",
}) Vue.component("counter-two", {
template:"<p>counter-two</p>",
}) var vm = new Vue({
el: ".app",
data: {
type:"counter-one"
},
methods:{
handle: function () {
console.log("come")
this.type = this.type === "counter-one" ? "counter-two" : "counter-one"
}
}
})
</script>
vue 插槽 part3的更多相关文章
- 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 ...
随机推荐
- 《ES6标准入门》(阮一峰)--10.对象的扩展
1.属性的简洁表示法 ES6 允许在大括号里面,直接写入变量和函数,作为对象的属性和方法.这样的书写更加简洁. const foo = 'bar'; const baz = {foo}; baz // ...
- Linux应用可通过USB访问Android设备-Chrome OS 75版发布
导读 谷歌已经为支持的Chromebook设备发布了Chrome OS 75操作系统,这是一个主要版本,增加了各种新功能,最新安全补丁和其他改进. 对于大多数Chromebook设备,Chrome O ...
- POJ 1330:Nearest Common Ancestors
Nearest Common Ancestors Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 20940 Accept ...
- 洛谷 P2549 计算器写作文
题目传送门 解题思路: 背包,f[i]表示计算器位数为i时,可获得的最大分值. 本题与01背包不同的地方在于,物品的摆放顺序对答案是有影响的,例如两个字符串a,b,那么就会出现a+b和b+a两种情况( ...
- FFT各种模板
丑陋敬请谅解: 求两列数的卷积: 递归版: #include <stdio.h> #include <algorithm> #include <math.h> us ...
- MongoDB 数据建模
版权所有,未经许可,禁止转载 章节 MongoDB 入门 MongoDB 优势 MongoDB 安装 MongoDB 数据建模 MongoDB 创建数据库 MongoDB 删除数据库 MongoDB ...
- 学习spring第6天(aop获取目标方法参数)
关于<aop:around>中的方法,需要第一个参数为ProceedJoinPoint,在方法体中通过该参数调用proceed()才能使目标方法得到调用. 当一个切面中有多个<aop ...
- tornado和vue的模板冲突解决方法
tornado和vue的模板冲突解决方法 Vue的插值表达式和tornado的模板都为一对花括号,可以通过修改vue的插值表达式的符号来解决这个问题,具体方法如下: var vm = new Vue( ...
- 51nod 1022 石子归并 环形+四边形优化
1022 石子归并 V2 基准时间限制:1 秒 空间限制:131072 KB 分值: 160 难度:6级算法题 收藏 关注 N堆石子摆成一个环.现要将石子有次序地合并成一堆.规定每次只能选相邻的2 ...
- COGS 1489玩纸牌
%%%http://blog.csdn.net/clover_hxy/article/details/53171234 #include<bits/stdc++.h> #define LL ...