Skip to content

Commit fb3e727

Browse files
committed
v-link: allow active-exact class to be configured separately
1 parent 823407e commit fb3e727

File tree

3 files changed

+7
-4
lines changed

3 files changed

+7
-4
lines changed

src/directives/link.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ export default function (Vue) {
8383
let dest = this.destination
8484
let router = this.vm.$route.router
8585
let activeClass = router._linkActiveClass
86-
let exactClass = activeClass + '-exact'
86+
let exactClass = router._linkActiveExactClass
8787
if (this.activeRE &&
8888
this.activeRE.test(path) &&
8989
path !== '/') {

src/index.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ class Router {
3131
transitionOnLoad = false,
3232
suppressTransitionError = false,
3333
root = null,
34-
linkActiveClass = 'v-link-active'
34+
linkActiveClass = 'v-link-active',
35+
linkActiveExactClass = 'v-link-active-exact'
3536
} = {}) {
3637

3738
/* istanbul ignore if */
@@ -78,6 +79,7 @@ class Router {
7879
// other options
7980
this._saveScrollPosition = saveScrollPosition
8081
this._linkActiveClass = linkActiveClass
82+
this._linkActiveExactClass = linkActiveExactClass
8183
this._suppress = suppressTransitionError
8284

8385
// create history object
@@ -134,4 +136,4 @@ if (typeof window !== 'undefined' && window.Vue) {
134136
window.Vue.use(Router)
135137
}
136138

137-
export default Router;
139+
export default Router

test/unit/specs/core.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,8 @@ describe('Core', function () {
211211
it('v-link active classes', function (done) {
212212
router = new Router({
213213
abstract: true,
214-
linkActiveClass: 'active'
214+
linkActiveClass: 'active',
215+
linkActiveExactClass: 'active-exact'
215216
})
216217
var App = Vue.extend({
217218
replace: false,

0 commit comments

Comments
 (0)