vue.js - Vue - 访问插槽时的标准做法
问题描述
尝试访问插槽时,以下是公认的标准做法吗?
const slotElement = this.$slots['slot-name'][0].elm;
const value = this.getSomething(slotElement);
解决方案
您可以简单地使用插槽名称。
this.$slots.slotName // named slot
this.$slots.default // default slot
来自api的示例:
<blog-post>
<h1 slot="header">
About Me
</h1>
<p>Here's some page content, which will be included in vm.$slots.default, because it's not inside a named slot.</p>
<p slot="footer">
Copyright 2016 Evan You
</p>
<p>If I have some content down here, it will also be included in vm.$slots.default.</p>.
</blog-post>
Vue.component('blog-post', {
render: function (createElement) {
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)
])
}
})
推荐阅读
- spring-integration - Spring集成DelayHandler、retryDelay和messageStore
- java - SOAP - 只保留父/根命名空间
- wpf - 在 Xamarin WPF 中更改汉堡按钮的属性
- r - 有没有办法将共享相同 ID 的列值分隔到 R 中的单独列中?
- java - 如何从 html 源中解析出 imgs 标签的 src 属性值
- python - 如何使用 jTessBoxEditor 提高文本识别的准确性?
- java - com.androidnetworking.error.ANError: com.androidnetworking.error.ANError: PROTOCOL_ERROR
- html - Web 呈现的大小与打印大小不匹配
- python - 将第二个文件的数据附加到每行的第一个文件中
- intellij-idea - Intellij idea 2020.2 - JSF 工具窗口未显示