vue.$slots--插槽使用

news/2024/7/10 0:54:28 标签: vue

插槽:组件中的组件

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="vue.js"></script>
	</head>
	<body>
		<div id="app">
			<blog-post>
			  <template v-slot:header>     <!-- 使用v-slot命名插槽 -->
			    <h1>About Me</h1>
			  </template>
			  <p>Here's some page content, which will be included in vm.$slots.default, because it's not inside a named slot.</p>   <!-- 匿名插槽 -->
			  <template v-slot:footer>      <!-- v-slot命名插槽 -->
			    <p>Copyright 2016 Evan You</p>
			  </template>
			<!-- 匿名插槽  一个不带 name 的 <slot> 出口会带有隐含的名字“default”。 -->
			  <p>If I have some content down here, it will also be included in vm.$slots.default.</p>
			</blog-post>
		</div>
		<script>
			//全局注册组件
			 Vue.component('blog-post', {     
            // 使用reader函数进行html页面渲染            
			  render: function (createElement) {
			// 使用$slot获取插槽的节点 获得子虚拟结点
			    var header = this.$slots.header
			    var body   = this.$slots.default
			    var footer = this.$slots.footer
			    return createElement('div', [
			      createElement('header', header),
			      createElement('main', body),
			      createElement('footer', footer)
			    ])
			  }
			})
			var vm = new Vue({ el: '#app' })
		</script>
	</body>
</html>

渲染得到的html文档结构
在这里插入图片描述


http://www.niftyadmin.cn/n/1267718.html

相关文章

Javascript基础之-var,let和const深入解析

Javascript基础之-var&#xff0c;let和const深入解析&#xff08;一&#xff09; Javascript基础之-var&#xff0c;let和const深入解析&#xff08;二&#xff09;

Leetcode 1262:可被三整除的最大和(超详细的解法!!!)

给你一个整数数组 nums&#xff0c;请你找出并返回能被三整除的元素最大和。 示例 1&#xff1a; 输入&#xff1a;nums [3,6,5,1,8] 输出&#xff1a;18 解释&#xff1a;选出数字 3, 6, 1 和 8&#xff0c;它们的和是 18&#xff08;可被 3 整除的最大和&#xff09;。示例…

vuex namespaced 命名空间

vuex中的store分模块管理&#xff0c;需要在store的index.js中引入各个模块&#xff0c;为了解决不同模块命名冲突的问题&#xff0c;将不同模块的namespaced:true&#xff0c;之后在不同页面中引入getter、actions、mutations时&#xff0c;需要加上所属的模块名 export defa…

Leetcode 1263:推箱子(超详细的解法!!!)

「推箱子」是一款风靡全球的益智小游戏&#xff0c;玩家需要将箱子推到仓库中的目标位置。 游戏地图用大小为 n * m 的网格 grid 表示&#xff0c;其中每个元素可以是墙、地板或者是箱子。 现在你将作为玩家参与游戏&#xff0c;按规则将箱子 B 移动到目标位置 T &#xff1a…

jQuery中foreach的continue和break : Uncaught SyntaxError: Illegal continue statement

Uncaught SyntaxError: Illegal continue statement 在JS中出现上面错误&#xff0c;很可能是因为在foreach循环中使用了 continue 或者 break 所导致的&#xff1b; 在JS循环中 continue 语句 continue 语句中断循环中的迭代&#xff0c;如果出现了指定的条件&#xff0c;然…

Leetcode 1266:访问所有点的最小时间(超详细的解法!!!)

平面上有 n 个点&#xff0c;点的位置用整数坐标表示 points[i] [xi, yi]。请你计算访问所有这些点需要的最小时间&#xff08;以秒为单位&#xff09;。 你可以按照下面的规则在平面上移动&#xff1a; 每一秒沿水平或者竖直方向移动一个单位长度&#xff0c;或者跨过对角线…

JavaScript扩展运算符(...)

max Math.max(1,2,3)//max3arr [1,2,3] max Math.max(arr) //maxNaN// 扩展运算符&#xff0c;可以将数组形式转换为逗号参数的形式。 max Math.max(...arr) // max3

Leetcode 1267:访问所有点的最小时间(超详细的解法!!!)

这里有一幅服务器分布图&#xff0c;服务器的位置标识在 m * n 的整数矩阵网格 grid 中&#xff0c;1 表示单元格上有服务器&#xff0c;0 表示没有。 如果两台服务器位于同一行或者同一列&#xff0c;我们就认为它们之间可以进行通信。 请你统计并返回能够与至少一台其他服务…