将活动类添加到子元素

KMa*_*tko 2 vue.js bootstrap-4

我是Vue.js(和bootstrap-vue)的初学者,我想创建标签(就像这里)

<b-nav class="nav-tabs">
    <b-nav-item v-bind:active=true v-bind:class="{ active : tab === 1 }" v-on:click="tab = 1">Link 1</b-nav-item>
    <b-nav-item v-bind:class="{ active : tab === 2}" v-on:click="tab = 2">Link 2</b-nav-item>
    <b-nav-item v-bind:class="{ active : tab === 3}" v-on:click="tab = 3">Link 3</b-nav-item>
</b-nav>
Run Code Online (Sandbox Code Playgroud)

但是,当我点击第二个链接时,它不会更改active = true(并且第一个按钮上的active = false).我试过了

v-on:click:active=true
Run Code Online (Sandbox Code Playgroud)

但它不起作用.它适用于制表符,但不适用于导航(例如https://bootstrap-vue.github.io/docs/components/tabs).任何的想法?

添加:

Vue代码:

import Vue from 'vue';
import BootstrapVue from 'bootstrap-vue'
Vue.use(BootstrapVue);
new Vue({
    el: '#app',
    data: {
        tab: 1
    },
});
Run Code Online (Sandbox Code Playgroud)

Lui*_*duz 5

不熟悉bootstrap-vue,但我只是在他们的操场上做了一些玩具,你需要绑定的是active属性,bootstrap从中处理样式.

换句话说,这似乎有效:

<b-nav class="nav-tabs">
  <b-nav-item v-bind:active="tab === 1" v-on:click="tab = 1">Link 1</b-nav-item>
  <b-nav-item v-bind:active="tab === 2" v-on:click="tab = 2">Link 2</b-nav-item>
  <b-nav-item v-bind:active="tab === 3" v-on:click="tab = 3">Link 3</b-nav-item>
</b-nav>
Run Code Online (Sandbox Code Playgroud)