插槽
<div id="app"> <todo> <!--:为v-bind:的简写--> <todo-title slot="todo-title" :title="title"></todo-title> <todo-items slot="todo-items" v-for="item in todoItems" :item="item"></todo-items> </todo> </div> <script src="https://cdn.jsdelivr.net/npm/vue@2.6.11/dist/vue.min.js"></script> <script> Vue.component("todo", { template: '<div>' + '<slot name="todo-title"></slot>' + '<ul>' + '<slot name="todo-items"></slot>' + '</ul>' + '</div>' }) Vue.component("todo-title", { props: ['title'], template: '<div>{{title}}</div>' }) Vue.component("todo-items", { props: ['item'], template: '<div>{{item}}</div>' }) var vm = new Vue({ el: "#app", data: { title: "fruits", todoItems: ["苹果", "香蕉", "桃子"] } }); </script>
来源:https://www.cnblogs.com/pinked/p/12315615.html