vue.js - 如何使用 vue-router 将事件链接保持在非精确路由中

标签 vue.js vue-component vue-router

我有一个带有 Vue 和 VueRouter 的应用程序,在我的根组件中我有一个选项卡面板,每个选项卡都是一个路由器链接,当我单击每个路由器链接时它会将我带到特定的路线,直到那时一切都很好,例如路线 misitio.com/shop/ 激活这条路线的链接

问题是在该 route 有另一个组件通向 mysitio.com/shop/categories,我想留下路线 mysite.com/shop 的链接 active 但它不是那样的。

示例代码

  <div class="col-md-12">
            <ul class="nav nav-tabs md-tabs nav-justified default-color-dark" role="tablist">
                <li class="nav-item ">
                    <router-link :to="{ name: 'shop'}" exact
                        class="nav-link  text-white" 
                        data-toggle="tab"
                        role="tab">
                        <i class="fa fa-table"></i>&nbsp;&nbsp; SHOP
                    </router-link>
                </li>
                <li class="nav-item">
                    <router-link :to="{ name: 'other'}"  exact
                    class="nav-link  text-white" 
                        data-toggle="tab"
                        role="tab" >
                        <i class="fa fa-heart"></i>&nbsp;&nbsp; OTHER
                    </router-link>
                </li>
            </ul>
            <div class="tab-content card">
                <transition name="fade" mode="out-in">
                    <router-view></router-view>
                </transition>
            </div>
        </div>

我的标签的 url 是

  1. midominio.com/shop/
  2. midominio.com/shop/categories/

如果我不使用exact,当我选择第二个选项时,第一个也会标记我

我怎样才能实现这种行为?我想到了一个正则表达式也许可以激活链接

最佳答案

可能不是最好的解决方案,但这些是可以解决您的问题的方法:

  1. 控制事件类,如 v-bind:active-class="$route.path !== '/商店/类别/' ? '(你的活跃类(class))' : ''

  2. v-bind:exact="$route.path === 一样控制 exact 属性 '/shop/categories/'"

关于vue.js - 如何使用 vue-router 将事件链接保持在非精确路由中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52751491/

相关文章:

vue.js - Nuxt.js loginWith Auth0 延迟重定向

javascript - 如何在 vue.js 中获取 refs 数组?

laravel - 如何在组件的方法中访问 Vue JS Prop ?

javascript - Vue js 2-无法安装组件 : template or render function not defined

javascript - 如何使用断点暂停我的代码 vuetify?

vue.js - 仅在 VueJS 中完成分派(dispatch)和提交后才触发路由

javascript - Vue2 : view-router exception when trying to use <router-view>

javascript - 如何屏蔽多步骤表单上的输入

vue.js - 如何一次同时过渡两个元素?

javascript - 使用 vue-router 从 vue.js 中的 v-link 传递 prop