这篇文章主要介绍“Vue如何实现异步加载about组件”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“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>
vue是什么
Vue是一套用于构建用户界面的渐进式JavaScript框架,Vue与其它大型框架的区别是,使用Vue可以自底向上逐层应用,其核心库只关注视图层,方便与第三方库和项目整合,且使用Vue可以采用单文件组件和Vue生态系统支持的库开发复杂的单页应用。