In large applications, dividing the application into smaller chunks is often times necessary. In this lesson, we will look at how vue loads async components into your application.
<template> <div> <section class="pa2"> <h2>Lazy loading...</h2> <button @click="show = true">Lazy load</button> <div v-if="show"> <Async></Async> </div> </section> </div> </template> <script> const Async = resolve => { console.log('loading...') setTimeout(() => { require(['~components/async.vue'], resolve) console.log('loaded') }, 1000) } export default { components: { Async }, data () { return { show: false } } } </script>