在页面级别更改 css class

Changing css class at page level

此代码在组件级别工作,但是当使用 nuxt-childnuxt-link 代替按钮时,它会更改页面,但颜色保持不变。您知道如何解决这个问题吗?

<nuxt-link to="/head" :class="headButtonMode" @click="setSelectedTab('head-page')">
</nuxt-link>

<nuxt-link to="/" :class="mainButtonMode" @click="setSelectedTab('main-page')">
</nuxt-link>

<nuxt-child />

data() {
    return {
      selectedTab: "main-page",
    };
  },
  computed: {
    headButtonMode() {
      return this.selectedTab === "head-page" ? "head flat" : "head";
    },
    mainButtonMode() {
      return this.selectedTab === "main-page" ? "main flat" : "main";
    },
  },
  methods: {
    setSelectedTab(tab) {
      this.selectedTab = tab;
    }, 

试一试:

<button @click="setSelectedTab('main-page'); $router.push({path:'/head'})" :class="headButtonMode"> 
</button>