Vue2-2 component Posted on 2018-04-07 | Simple Component1234567891011<!DOCTYPE html><html><body> <div id="root"> <task></task> </div> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <script src="./order.js"></script></body></html> 1234567Vue.component('task', { template: '<li>Foobar</li>'})new Vue({ el: '#root',}) Sub component1234567891011<!DOCTYPE html><html><body> <div id="root"> <task-list title="my todo list"></task-list> </div> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <script src="./order.js"></script></body></html> 123456789101112131415161718192021222324252627282930313233Vue.component('task-list', { props: ['title'], template: ` <div v-show="isVisible"> <div>{{ title }}</div> <task v-for="t in tasks">{{ t.task }}</task> <button type="button" @click="hideModel">close</button> </div> `, data() { return { isVisible: true, tasks: [ { task: 'Go to the store', complete: true }, { task: 'Go to the email', complete: false }, ] } }, methods: { hideModel() { this.isVisible = false } },})Vue.component('task', { template: '<li><slot></slot></li>',})new Vue({ el: '#root',})