开发有风险,且行且珍惜
前序:
- 仅作为笔记使用,真实与否,请自行测试
- 我觉得坑更多是因为没有仔细看文档以及惰性造成,虽然不能排除它的确就是本身的缺陷
- 这些总是反复的踏坑,故记录在此,以便时刻提醒自己,当然要是版本有所修复这些事项也就不适合,故看看即可,切莫当真,仅适合本人使用
前提:
- vue(当前版本 2.X)
一:事项:
- 不应该使用箭头函数来定义 method 函数,即使其他全是普通,至少一个箭头函数,都会改变this的指向,都使得所有函数的this都成了undefined。
- vue节点中属性不能存在方法,比如url里面放require转换打包后的bash路径则无法生效,需要计算完才放在属性里面,所以才会出现计算属性或者filter这种解决方案或者返回数据时就处理。
- 路由和资源的路径问题,很多都不会放在根目录下,故需要把baseurl的默认根路径改为相对路径,如下:
//绝对路径,根路径
/
//相对路径
./
注意这里改了之后,生效的是打包的资源路径,但是对于路由,还是绝对的路径,这就会导致匹配路由的文件会改为文件访问符file:///访问文件路径下的内容,比如path home,访问地址变为file:///home,若是改为./也没解决问题,但是已经知道是因为没有进入到路由处理的函数才导致的,因为走的是a标签,并有把路由替换为baseurl修改的相对路径,当然你可以在a标签绑定的是修改后的相对路径,但是对于外面的访问,依然不适合暴露这些路径,而是通过反向代理进行返回内容而不是服务器的资源访问权,故很多运行和挂载在各大http服务的没有在意这个问题,某天我直接在文件打开html进行所谓静态的访问时遇到的,需要清楚的是相对路径必须要经过转换成绝对路径才能访问,且这种转换要么工具实现,要么自己主动触发转换函数。
- Vue Router嵌套路由仅仅为当前父页面下的节点,例:
<router-view></router-view>
一直有着把它理解为新增的页面的子路由概念,导致了很多问题,/xxx/xx这种路径新起一个route即可,children节点起到的作用就是等同于下面代码:
<components is="xx"></components>
//或者
<xx v-if="router==xx"></xx>
出现误区只要是其一本人看文档从来不看完只取片言只字,其二看着/xxx/xx似曾相识的子路由即迷失方向,其实文档首行就说明了用法,其三老是看某些不严谨的blog
网友评论