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 ...
随机推荐
- 标准C的标记化结构初始化语法
1 struct file_operations { 2 struct module *owner; 3 loff_t (*llseek) (struct file * ...
- 九九乘法表的四种三角形排布方式(for循环以及while循环的互换)
#region //右上 for (int i = 1; i <= 9; i++){ for (int j = 1; j <= 9; j++){ if (i > j){ Consol ...
- GNS3 模拟icmp目标不可达
目标不可达: R1 : conf t int f0/0 no shutdown ip add 192.168.1.1 255.255.255.0 end R2 f0/0: conf t int f0/ ...
- eclipse 安装spring tools suite插件
之前使用idea进行springboot项目的开发学习,但是由于idea是收费的,总是用着用着说验证码到期之类的,总之还是很不爽,于是就想重新采用eclipse开发springboot项目,为了方便s ...
- 前端解析返回的对象时json显示$ref问题的解决
在mapper中写的语句,结果集中association,采用的一个对象,整个list列表中每个元素有一个对象元素,如果第二个元素中有一个与第一个元素中对象同名的,就会去引用上一个元素的地址,在jso ...
- SpringMVC原理及流程解析
前言 春节期间宅在家里闲来无事,对SpringMVC进行了比较深入的了解,将之前模糊不清的地方基本摸索清楚了,特此撰文总结记录一下. 正文 一.一个请求为什么会调用到SpringMVC框架里? 首先问 ...
- 12.swoole学习笔记--锁机制
<?php //创建锁对象 $lock=new swoole_lock(SWOOLE_MUTEX);//互斥锁 echo "创建互斥锁\n"; //开始锁定 主进程 $loc ...
- Mysql 终端中文显示乱码
查看编码 show variables like 'char%'; 结果 +--------------------------+--------+ | Variable_name | Value | ...
- U盘安装Debian KDE 输入法 Manjaro Linux WPS 字体
Manjaro: 首先下载Manjaro Linux,然后用USBWriter(https://pan.baidu.com/s/1bZGb5k)写入,重启选择USB启动. 更改软件仓库(Debian称 ...
- 二、环境安装:yarn
依赖管理工具安装yarn 可参考前几篇文章 1.必须安装nodejs 注意:安装nodejs稳定版本 2.安装cnpm用cnpm替代npm 地址:http://npm.taobao.org/安装cnp ...