vue项目开发中踩过的坑
一、路由
这两天移动端的同事在研究vue,跟我说看着我的项目做的,子路由访问的时候是空白的,我第一反应是,不会模块没加载进来吧,还是。。。。此处省略一千字。。。
废话不多说上代码
路由代码
{
path: '/list',
name: '列表',
component: Layout,
meta: {title: '列表', icon: 'service'},
redirect: '/orderManger',
children: [{
path: '',
name: '主列表',
component: List
},
{
path: '/orderManger',
name: '订单管理',
component: OrderManger
}]
}
element的菜单组件
<!--一级菜单-->
<el-submenu v-for="(item, index) in rounters" :key="index" :index="item.path" v-show="!item.hidden">
<template slot="title">
<i v-if="item.meta" :class="'el-icon-'+ item.meta.icon"></i>
<i v-else :class="el-icon-menu"></i>
<span>{{item.name}}</span>
</template>
<!--二级菜单-->
<el-menu-item v-for="(childItem, index) in item.children"
:key="index"
:index="childItem.name"
:route="item.path + childItem.path"
v-if="!childItem.hidden"
>
<span class="second_menu_title" slot="title">{{childItem.name}}</span>
</el-menu-item>
</el-submenu>
问题描述:1、根据以上代码访问list路由时访问列表组件

2、点击订单管理菜单,地址栏地址显示正确的,但是页面渲染为空白

看到代码第一反应是children里的子路由以斜线“”/“”开头了,记得以前踩过这个坑,好像说的是子路由以斜线开头表示绝对路径了,但是当时没记录,年纪大了记性不好,后面就忘了。。。。。(吸取教训,在哪里跌倒,就要在哪里做个标记。。。)
言归正传,后面仔细又去查了下,
如果路由以“/”开头,那么他会作为根路径进行渲染,也就是一层路由。
如果地址不是/开头,会直接替换当前路由的最后一个/后的地址
所以按照以上的代码的写法,要想访问订单管理的模块应该是在http://localhost:8080/#/orderManger路由下

果然,始终不露面的订单管理页面出来了,但。。。这不是我们想要的。。。。
我们想要的是/list/orderManger
根据上面对斜线/“”的理解修改如下
路由代码:

菜单拼接修改:
那么:现在正常访问了! 二、VUE模块导入不加.vue后缀
Failed to mount component: template or render function not defined.
found in

解决方法:加上.vue后缀
原因:先记录下来,忙过这段儿研究下。。。。。
vue项目开发中踩过的坑的更多相关文章
- 转:Flutter开发中踩过的坑
记录一下入手Flutter后实际开发中踩过的一些坑,这些坑希望后来者踩的越少越好.本文章默认读者已经掌握Flutter初步开发基础. 坑1问题:在debug模式下,App启动第一个页面会很慢,甚至是黑 ...
- vue项目开发中遇到的问题总结--内部分享
1.路由变化页面数据不刷新问题 这种情况一般出现在vue-router的history模式下,初次进入会执行钩子函数,再次进入时则不会. 解决方案: 监听路由变化 watch : { "$ ...
- vuejs 开发中踩到的坑
用 v-for 循环式 每个item的值相等的情况下,会影响v-model的双向绑定: Modal 组件开发,主要用slot 标签来实现 <template> <transitio ...
- vue项目开发中遇到的问题总结
(转自)https://www.cnblogs.com/zifayin/p/8312677.html 1.路由变化页面数据不刷新问题 这种情况一般出现在vue-router的history模式下,初次 ...
- vue项目开发中遇到的几个问题
1.使用elment或者mintUI库时,需要全局引入ui库的css文件:然后在修改自己样式时,需要将自己的css文件引入到main.js中才会生效,全局引用2.使用v-html展示dom字符串时,相 ...
- 那些年,我们在Django web开发中踩过的坑(一)——神奇的‘/’与ajax+iframe上传
一.上传图片并在前端展示 为了避免前端整体刷新,我们采用ajax+iframe(兼容所有浏览器)上传,这样用户上传之后就可以立即看到图片: 上传前: 上传后: 前端部分html: <form s ...
- 【VUE】vue项目开发中,setTimeout等定时器的管理。
如果在一个组件中使用了定时器,当通过路由切换页面的时候 1.如果有同一个组件,定时器会叠加. 解决方案: computed:{ timer: { set (val) { this.$store.sta ...
- VUE项目开发中使用WebSocket
初始化WebSocket initWebSocket(){ //初始化weosocket const wsuri = 'ws://10.100.45.8:8888/websocket';//ws地址 ...
- 项目中踩过的坑之-sessionStorage
总想写点什么,却不知道从何写起,那就从项目中踩过的坑开始吧,希望能给可能碰到相同问题的小伙伴一点帮助. 项目情景: 有一个id,要求通过当前网页打开一个新页面(不是当前页面),并把id传给打开的新页面 ...
随机推荐
- <vue>…… v-if 与 v-show ……//
#v-if 用法: 根据表达式的值的真假条件渲染元素.在切换时元素及它的数据绑定 / 组件被销毁并重建.如果元素是 <template> ,将提出它的内容作为条件块. 当条件变化时该指令触 ...
- js变量类型详解
<html> <title>js变量类型详解</title> <meta http-equiv="content-type" conten ...
- HDU 5876 补图 单源 最短路
---恢复内容开始--- Sparse Graph Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 262144/262144 K (J ...
- zoj2479 Cover the Rectangular Ground
肯定是dfs搜一下的,但是呢存在一个很大的剪枝,也就是面积必定要是相等的,那么如何去操作呢,可以想到的是二进制枚举选取的方法,然后把方法中选取的矩形面积求和并判断一下即可,然后dfs搜索,要注意的是, ...
- Java电商项目-8.实现SSO单点登陆
目录 创建ashop-sso-web单点登陆系统 用户名唯一性验证 用户注册 用户登陆 获得用户登陆状态 实现安全退出 项目的Github地址 创建ashop-sso-web单点登陆系统 先创建好模块 ...
- Android GIS开发系列-- 入门季(7) 利用GeometryEngine坐标转换、计算距离与面积等
GeometryEngine是Arcgis的重要工具类,利用此工具类,可以计算地图上的距离.面积,将点.线.面转化为Json数据,将Json转化为点线面,坐标转换作用非常强大. 一.坐标转化 将用到方 ...
- AIM Tech R3 div2 E Centroid
思路很明显了,假设是点x,则看它的子树中是否有大于n/2的,如果有,则在该子树中剪去它可以剪的且小于n/2的,接到点x上. 则统计出在以x点为根的子树中,它的各子树可以剪去的且小于n/2的最大子子树. ...
- golang中关闭http server
golange 开启http server 服务之后,怎么关闭呢? ------------------------------------------------------------------ ...
- CodeIgniter 向mysql插入数据包括字母、汉字问题
今天在使用ci框架,须要向mysql数据表插入数据.当中的一个字段包括汉字.字母.但是用传统的使用sql语句:insert into XXX这样的方式,不管怎样都插入不成功,最后我换了还有一种方式: ...
- C# VS如何整个项目中查找字符串
Ctrl+F打开查找对话框,然后输入查找字符串,电机右边的小三角,选择整个解决方案,就可以遍历所有文件查找指定字符了