From 8d3a3d894155267e74edabad5759331d773f06ed Mon Sep 17 00:00:00 2001 From: mopemoepe Date: Fri, 23 Oct 2015 13:03:48 +0900 Subject: [PATCH] Fix: v-link should work on non-anchor elements --- src/directives/link.js | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/src/directives/link.js b/src/directives/link.js index 813e93ad9..3014daa4a 100644 --- a/src/directives/link.js +++ b/src/directives/link.js @@ -42,14 +42,22 @@ export default function (Vue) { while (el && el.tagName !== 'A' && el !== this.el) { el = el.parentNode } - if (!el || el.tagName !== 'A' || !el.href) return - if (sameOrigin(el)) { + if (!el) return + if (el.tagName !== 'A' || !el.href) { + // allow not anchor e.preventDefault() - router.go({ - path: el.pathname, - replace: target && target.replace, - append: target && target.append - }) + if (target != null) { + router.go(target) + } + } else { + if (sameOrigin(el)) { + e.preventDefault() + router.go({ + path: el.pathname, + replace: target && target.replace, + append: target && target.append + }) + } } } }