Vue异步加载about组件
时间:2021-09-12 13:59:24|栏目:vue|点击: 次
本文实例为大家分享了Vue异步加载about组件的具体代码,供大家参考,具体内容如下
异步加载about组件
about.js
Vue.component('about', {template: '<div>ABOUT PAGE</div>'});
html代码:
<div id="app"> <router-link to="/home">/home</router-link> <router-link to="/about">/about</router-link> <router-view></router-view> </div> <script src="static/js/vue.min.js"></script> <script src="static/js/vue-router.js"></script> <script> function load (componentName, path) { return new Promise(function (resolve, reject){ var script = document.createElement('script'); script.src = path; script.async = true; script.onload = function () { var component = Vue.component(componentName); if (component) { resolve(component); } else { reject(); } } document.body.appendChild(script); }); } var router = new VueRouter({ routes: [{ path: '/', redirect: '/home' }, { path: '/home', component: { template: '<div>HOME PAGE</div>' } },{ path: '/about', component: function (resolve, reject) { load('about', 'static/js/business/about.js').then(resolve, reject); } }] }); var app = new Vue({ el: '#app', router: router }); </script>