不使用vuex进行请求API
让所有组件实例都能使用API接口(无需在每个组件实例中每次单独引入):在main.js文件中将API接口进行统一引入,并在beforeCreate钩子函数中进行挂载
控制台打印效果:
Trade组件内 methods:
this.orderId已经在data中声明
路由跳转传参
尽量别在声明周期函数上使用async
解决方法:在methods中定义后,再在生命周期函数中调用
二级路由
二级路由的路径不写全时,不需要反斜杠(/)
router:路由重定向别忘了添加
组件实例:
设置出口才能显示
订单模块->商品展示中信息出现多次
解决方案:在每个td中加入索引的判断,index==0才展示该标签,所以该标签只会展示一次
解决后效果图:
未登录的导航守卫
将未登录时没去成的路由通过地址栏传递query参数的方式,重定向到该地址
router内:
login组件内:
路由独享守卫&组件内守卫
router:
组件实例中配置:
图片懒加载
main.js:
组件内:换成v-lazy指令
Vue图片引入
非js内引入图片(html):一般都是通过路径引入
<img src="../assets/pay.jpg">。
js内引入图片: 可分为通过路径引入和不通过路径引入。
1.通过路径方式,必须require()引入
2.不通过路径方式,①图片网址 ②通过import导入后使用
自定义插件回顾
控制台:
组件实例:
路由懒加载
当打包构建应用时,JavaScript 包会变得非常大,影响页面加载。如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更加高效了。
项目打包
npm run build
dist文件下的js文件存放我们所有的js文件,并且经过了加密,并且还会生成对应的map文件。
map文件作用:因为代码是经过加密的,如果运行时报错,输出的错误信息无法准确得知时那里的代码报错。有了map就可以向未加密的代码一样,准确的输出是哪一行有错。
map文件也可删除(文件较大,程序员在打包前都应该处理好各种报错了) 在vue.config.js配置productionSourceMap: false
注意:vue.config.js配置改变,需要重启项目