vue+webpack实现异步加载三种用法示例详解
1.第一例
constHome=resolve=>{
import("@/components/home/home.vue").then(module=>{
resolve(module)
}
}
注:(上面import的时候可以不写后缀)
exportdefault[{
path:'/home',
name:'home',
component:Home,
meta:{
requireAuth:true,//添加该属性可以判断出该页面是否需要登录显示
},
}]
2.第二例
constrouter=newRouter({
routes:[
{
path:'/home',
component:(resolve)=>{
require(['../components/home/home'],resolve)//省去了在上面去import引入
}
}
]
})
3.第三例,这也是推荐的一种
//r就是resolve//路由也是正常的写法这种是官方推荐的写的按模块划分懒加载
constHome=r=>require.ensure([],()=>r(require('../components/home/home')),'home');
constrouter=newRouter({
routes:[
{
path:'/home/home',
component:Home,
name:'home',
}
]
})
下面给大家介绍下vue+webpack实现异步组件加载的代码,具体代码如下所示:
HTML
//点击按钮后,show为真,先获取child组件,再渲染div内容
JS
data(){
return{
msg:'WelcometoYourVue.jsApp',
show:false
}
},
methods:{
showchild:function(){
this.show=true;
}
},
components:{
'child':function(resolve){
require(['./components/child.vue'],resolve);
}
}
注意:加载异步组件的时候,组件名后边的.vue不要忽略。这个例子应该比较直观了。点击按钮之后改变了变量show的布尔值为真,由于child.vue是异步组件,所以会先ajax获取组件然后渲染。
总结
以上所述是小编给大家介绍的vue+webpack实现异步加载三种用法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!