您好,欢迎来到96游戏网。
搜索
您的当前位置:首页有哪些方法可以使vue+webpack实现异步加载

有哪些方法可以使vue+webpack实现异步加载

来源:96游戏网


这次给大家带来有哪些方法可以使vue+webpack实现异步加载,使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: [
 {
 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

<input type="button" @click="showchild" value="show"> //点击按钮后,show为真,先获取child组件,再渲染p内容 
<p id="contain" v-if="show">
 <child></child>
</p>

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获取组件然后渲染。

相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!

推荐阅读:

如何实现vue项目中vue-i18n和element-ui国际化开发

你必须要注意的vue组件使用细节

Copyright © 2019- 9603.com.cn 版权所有

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务