如果Vue.js:class =''需要布尔值,如何基于字符串将类添加到正确的导航元素?

我有这个简单的固定导航栏:

<nav class='navigation'>
    <div :class="{ active: }" @click='scrollTo(".test1")'></div>
    <div :class="{ active: }" @click='scrollTo(".test2")'></div>
    <div :class="{ active: }" @click='scrollTo(".test3")'></div>
    <div :class="{ active: }" @click='scrollTo(".test4")'></div>
</nav>

我还有一个名为activeSection的属性:

data() {
    return {
        activeSection: test1 // This is either test1,test2,test3 or test4 but let's use test1 for this example
    }
}

现在,我正在尝试将类active应用于第一个导航元素(如果activeSection == test1或第二个导航元素,如果activeSection == test2,依此类推,以此类推,但实际上被卡住了关于如何做到这一点。似乎解决方案很简单,但我现在无法解决。任何帮助将不胜感激。

ling9012 回答:如果Vue.js:class =''需要布尔值,如何基于字符串将类添加到正确的导航元素?

我认为这很简单

<nav class='navigation'>
 <div :class="{ active: activeSection==test1 }" @click='scrollTo(".test1")'> 
 </div>
 <div :class="{ active: activeSection==test2}" @click='scrollTo(".test2")'> 
</div>
<div :class="{ active: activeSection==test3}" @click='scrollTo(".test3")'> 
</div>
<div :class="{ active: activeSection==test4}" @click='scrollTo(".test4")'> 
</div>
</nav>

,您还需要在scrollTo方法上更新activeSection的值 https://vuejs.org/v2/guide/class-and-style.html

本文链接:https://www.f2er.com/3155196.html

大家都在问