slot 插槽
插槽,给组件的内容预留一个空间
- 分类
- 普通插槽
- 命名插槽
命名插槽
给slot加一个name属性
<slot name = "header"></slot>
<body>
<div id="app">
<Hello>
<header slot = "header"> 头部 </header>
<footer slot = "footer">底部</footer>
</Hello>
</div>
<template id="hello">
<div>
<slot name = "header"></slot>
<h3> hello组件 </h3>
<!-- 插槽,给组件的内容预留一个空间 -->
<slot name = "footer"></slot>
</div>
</template>
</body>
<script src="../../../lib/vue.js"></script>
<script>
Vue.component('Hello',{
template: '#hello'
})
new Vue({
el: '#app'
})
</script>
作用域插槽
作用域插槽可以让本只能在组件的模板中使用的数据,应用到组件的内容中
v-slot指令
作用:可以将组件的数据在组件的内容中使用
<body>
<div id="app">
<Hello>
<template v-slot:default = "scope"> //加了scope就是局部的
<p> {{ scope.money }} </p>
</template>
</Hello>
</div>
<template id="hello">
<div>
<slot :money = "money"></slot>
</div>
</template>
</body>
<script src="../../../lib/vue.js"></script>
<script>
/*
作用域插槽可以让本只能在组件的模板中使用的数据,应用到组件的内容中
*/
Vue.component('Hello',{
template: '#hello',
data () {
return {
money: 100000
}
}
})
new Vue({
el: '#app'
})
</script>