Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
InJoyU
vue-element-admin
提交
63ff44f8
V
vue-element-admin
项目概览
InJoyU
/
vue-element-admin
与 Fork 源项目一致
从无法访问的项目Fork
通知
5
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vue-element-admin
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
63ff44f8
编写于
9月 26, 2018
作者:
花
花裤衩
提交者:
GitHub
9月 26, 2018
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix[Sidebar]: link bug (#1134)
Fixed #1125
上级
dd5646ff
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
48 addition
and
12 deletion
+48
-12
src/views/layout/components/Sidebar/Link.vue
src/views/layout/components/Sidebar/Link.vue
+39
-0
src/views/layout/components/Sidebar/SidebarItem.vue
src/views/layout/components/Sidebar/SidebarItem.vue
+9
-12
未找到文件。
src/views/layout/components/Sidebar/Link.vue
0 → 100644
浏览文件 @
63ff44f8
<
template
>
<!-- eslint-disable vue/require-component-is-->
<component
v-bind=
"linkProps(to)"
>
<slot/>
</component>
</
template
>
<
script
>
import
{
validateURL
}
from
'
@/utils/validate
'
export
default
{
props
:
{
to
:
{
type
:
String
,
required
:
true
}
},
methods
:
{
isExternalLink
(
routePath
)
{
return
validateURL
(
routePath
)
},
linkProps
(
url
)
{
if
(
this
.
isExternalLink
(
url
))
{
return
{
is
:
'
a
'
,
href
:
url
,
target
:
'
_blank
'
,
rel
:
'
noopener
'
}
}
return
{
is
:
'
router-link
'
,
to
:
url
}
}
}
}
</
script
>
src/views/layout/components/Sidebar/SidebarItem.vue
浏览文件 @
63ff44f8
...
...
@@ -2,11 +2,11 @@
<div
v-if=
"!item.hidden&&item.children"
class=
"menu-wrapper"
>
<template
v-if=
"hasOneShowingChild(item.children,item) && (!onlyOneChild.children||onlyOneChild.noShowingChildren)&&!item.alwaysShow"
>
<a
:href=
"onlyOneChild.path"
target=
"_blank"
@
click=
"clickLink(onlyOneChild.path,$event
)"
>
<a
pp-link
:to=
"resolvePath(onlyOneChild.path
)"
>
<el-menu-item
:index=
"resolvePath(onlyOneChild.path)"
:class=
"
{'submenu-title-noDropdown':!isNest}">
<item
v-if=
"onlyOneChild.meta"
:icon=
"onlyOneChild.meta.icon||item.meta.icon"
:title=
"generateTitle(onlyOneChild.meta.title)"
/>
</el-menu-item>
</a>
</a
pp-link
>
</
template
>
<el-submenu
v-else
:index=
"item.name||item.path"
>
...
...
@@ -23,11 +23,11 @@
:base-path=
"resolvePath(child.path)"
class=
"nest-menu"
/>
<a
v-else
:href=
"child.path"
:key=
"child.name"
target=
"_blank"
@
click=
"clickLink(child.path,$event)
"
>
<a
pp-link
v-else
:to=
"resolvePath(child.path)"
:key=
"child.name
"
>
<el-menu-item
:index=
"resolvePath(child.path)"
>
<item
v-if=
"child.meta"
:icon=
"child.meta.icon"
:title=
"generateTitle(child.meta.title)"
/>
</el-menu-item>
</a>
</a
pp-link
>
</
template
>
</el-submenu>
...
...
@@ -39,10 +39,11 @@ import path from 'path'
import
{
generateTitle
}
from
'
@/utils/i18n
'
import
{
validateURL
}
from
'
@/utils/validate
'
import
Item
from
'
./Item
'
import
AppLink
from
'
./Link
'
export
default
{
name
:
'
SidebarItem
'
,
components
:
{
Item
},
components
:
{
Item
,
AppLink
},
props
:
{
// route object
item
:
{
...
...
@@ -89,18 +90,14 @@ export default {
return
false
},
resolvePath
(
routePath
)
{
if
(
this
.
isExternalLink
(
routePath
))
{
return
routePath
}
return
path
.
resolve
(
this
.
basePath
,
routePath
)
},
isExternalLink
(
routePath
)
{
return
validateURL
(
routePath
)
},
clickLink
(
routePath
,
e
)
{
if
(
!
this
.
isExternalLink
(
routePath
))
{
e
.
preventDefault
()
const
path
=
this
.
resolvePath
(
routePath
)
this
.
$router
.
push
(
path
)
}
},
generateTitle
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录