1.列表传参数到详情页的问题。比如从商品列表页到商品详情页,需要传递一个商品id;转到detailpagecopycodepage的路径是http://localhost:8080/#/detail?id=1,可以看到有一个参数id=1,即使id还会存在如果页面刷新。此时在c页面,可以通过id获取到对应的详细数据。获取id的方式是this.$route.query.idvue。下面说说两者的区别:1.query通过path切换路由,params通过name切换路由//query通过path切换路由进入Detail页面//paramsswitchroutesbyname进入详情页复制代码2.query通过this.$route.query接收参数,params通过this.$route.params接收参数。//query通过this.$route.querycreated(){constid=this.$route.query.id;}//params通过this.$route.paramscreated(){constid=this.$route.params.id;}3.查询参数的url显示方式:/detail?id=1&user=123&identity=1&更多参数params+动态路由url方式:/detail/1234.params动态路由参数,一定要要在路由中定义参数,然后在路由跳转的时候加上参数,否则就是一个空白页面:{path:'/detail/:id',name:'Detail',component:Detail}注意,params传递的时候parameters,如果路由中没有定义参数,可以同时传递和接收,但是一旦刷新页面,这个参数将不复存在。这不适用于某些操作依赖于参数的行为,因为您永远不能要求用户不要刷新页面。例如://在定义的路由中,只定义了一个id参数{path:'detail/:id',name:'Detail',components:Detail}//模板中的路由参数,//传递一个idparameter和一个token参数//id是路由中已经定义的参数,token没有定义进入详情页//在详情页接收created(){//可以正常获取到下面的内容//但是页面刷新后,仍然可以获取到id,并且令牌此时不存在constid=this.$route.params.id;consttoken=this.$route.params.token;}2.本地开发环境请求服务器接口跨域问题。在vue-cli配置文件中配置代理属性proxyTablevue.config.js:{//以'/api'开头,代理所有请求到目标服务器'/api':{target:'http://jsonplaceholder.typicode.com',//接口域名changeOrigin:true,//是否开启跨域pathRewrite:{'^/api':''}}}//接口封装如下图,将'/api'替换为上面目标地址//http://jsonplaceholder.typicode.com/api/xxxxxxxxxxx注意:配置完成后,一定要关闭原来的服务器,用npmrundev重启项目。否则无效。3、axios封装和api接口的统一管理axios封装主要是用来帮助我们拦截请求和响应的。在请求拦截中,我们可以携带userToken、post请求头、post提交数据的qs序列化等。在response的拦截中,我们可以根据状态码等进行统一的错误处理。axios接口的统一管理是做项目时必经的过程。这样方便我们管理自己的接口,不用在接口更新的时候再回到自己的业务代码去修改接口。由于这里的内容有点多,所以会放在另一篇文章中,这里发链接。