vue+webpack实现异步加载三种用法示例详解

网友投稿 245 2023-08-07

vue+webpack实现异步加载三种用法示例详解

1.第一例

const Home = resolve => {

import("@/components/home/home.vue").then( module => {

resolve(module)

}

}

注:(上面import的时候可以不写后缀)

export default [{

path: '/home',

name:'home',

component: Home,

meta: {

requireAuth: true, // 添加该属性可以判断出该页面是否需要登录显示

},

}]

2.第二例

const router = new Router({

routes: [

{

iJgfMLyJrw path: '/home',

component: (resolve)=> {

require(['../components/home/home'], resolve) // 省去了在上面去import引入

}

}

]

})

3.第三例,这也是推荐的一种

// r就是resolve// 路由也是正常的写法 这种是官方推荐的写的 按模块划分懒加载

const Home = r => require.ensure([], () => r(require('../components/home/home')), 'home');

const router = new Router({

routes: [

{

path: '/home/home',

component: Home,

name: 'home' ,

}

]

})

下面给大家介绍下vue+webpack实现异步组件加载的代码,具体代码如下所示:

HTML

//点击按钮后,show为真,先获取child组件,再渲染div内容

js

data () {

return {

msg: 'Welcome to Your Vue.js App',

show:false

}

},

methods: {

showchild:function(){

this.show=true;

}

},

components: {

'child': function(resolve) {

require(['./components/child.vue'], resolve);

}

}

注意:加载异步组件的时候,组件名后边的.vue不要忽略。这个例子应该比较直观了。点击按钮之后改变了变量show的布尔值为真,由于child.vue是异步组件,所以会先ajax获取组件然后渲染。

总结

以上所述是给大家介绍的vue+webpack实现异步加载三种用法,希望对大家有所帮助,如果大家有任何疑问请给我留言,会及时回复大家的。在此也非常感谢大家对我们网站的支持!

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Springboot上传excel并将表格数据导入或更新mySql数据库的过程
下一篇:java使用静态关键字实现单例模式
相关文章

 发表评论

暂时没有评论,来抢沙发吧~