Vuejs
若是需要多个插槽,可以在 <slot>
中使用 name
attribute,定义命名的插槽,可以定义具有多个插槽的组件。
Vue.component('my-component', {
data() {
return {
user: {
name: 'Tony',
age: 23,
},
}
},
template: `
<div>
<h2><slot name="title"></slot></h2>
<p><slot name="text"></slot></p>
</div>`,
})
接着,父组件向命名插槽提供内容,透过 <template>
与 v-slot
指令即可,v-slot
後要加上要提供分发内容的插槽名称。
v-slot
只能使用在 template
上。(有一种例外,後文提及)const vm = new Vue({
el: '#app',
template: `
<div id="app">
<my-component>
<template v-slot:title>标题</template>
<template v-slot:text>一段文字</template>
</my-component>
</div>`,
})
会渲染成如下结果:
默认下,一个没有命名的插槽会预设为具有 default
隐含名称的插槽。
而没有使用 v-slot
指定分发名称的内容会被视作 default
隐含默认插槽的内容:
下方的 <p>这是默认插槽的内容</p>
没有指定分发的命名插槽,将会被视作 default
插槽的内容:
Vue.component('my-component', {
data() {
return {
user: {
name: 'Tony',
age: 23,
},
}
},
template: `
<div>
<h2><slot name="title"></slot></h2>
<p><slot name="text"></slot></p>
<slot></slot>
</div>`,
})
const vm = new Vue({
el: '#app',
template: `
<div id="app">
<my-component>
<template v-slot:title>标题</template>
<template v-slot:text>一段文字</template>
<p>这是默认插槽的内容</p>
</my-component>
</div>`,
})
会渲染成如下结果:
以上为此次内容,感谢看到这里的你,我们明天见。
若是文中有任何错误、错字、想讨论的内容,欢迎各位大大不吝鞭笞指正、交流分享,笔者不慎感激 ✦ ✦ ✦
▶︎ 笔者 github:https://github.com/YUN-RU-TSENG
▶︎ 老王卖瓜之笔者另一篇铁人:每天来点 CSS Specification
▶︎ 倘若不断向深处扎根,似乎就能茁壮成长 - RM
>>: DAY28 - 使用 Istio 的 Grafana 可视化後端的流量
Group Session 是 YC Startup School 其中一项活动,只要每周都有着实填...
今天继续说第二种方法 第二种方法就是卷轴拉杆的概念了 就像昨天说的,如果直接用做卷轴时的scale去...
LogAnalyzer 有一个 Windows 版的 有分 Free 和几个点的版本 Free 的功...
Colab连结 今天要来实验不同的 ReLU 家族的评比,挑战者有 基本 ReLU 尾巴翘起来的 L...
到底 PM 在做什麽? 以前还没有开始当产品经理前,因为对这个职位很有兴趣希望能够往这个职涯发展,...