代码
提交代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <div id="app"> <my-component> <!-- 使用 v-slot 接收默认插槽的数据,并把数据命名为 slotProps--> <template v-slot:default="slotProps"> <br /> <!-- 使用 插槽数据--> 我叫:{{slotProps.detail.name}},我的爱好是:{{slotProps.detail.love}} </template> </my-component> <my-component> <!-- 默认插槽可以忽略v-slot后面的插槽名--> <template v-slot="slotProps"> <br /> <!-- 使用 插槽数据--> 我叫:{{slotProps.detail.name}},我的爱好是:{{slotProps.detail.love}} </template> </my-component> </div> </body> <script src="https://unpkg.com/vue/dist/vue.js"></script> <script type="text/javascript"> Vue.component('myComponent', { // 在默认插槽中传入数据 detail template: '<div>Hello !<slot :detail="detail"></slot></div>', data() { return { detail: { name: '句号', love: 'coding' } } } }) var vm = new Vue({ el: '#app', data() { return {} } }) </script> </html>
运行结果