在Vue.js的类内使用三元条件

时间:2019-02-08 21:26:31

标签: vuejs2

当百分比达到57时,如何编写三元条件来更改进度条的颜色

这是设置进度条代码的方式

<div
   class="progress-bar"
    role="progressbar"
    :style="{width:(quoteCount / maxQuotes) * 100 + '%'}"
    aria-valuenow="25"
    aria-valuemin="0"
    aria-valuemax="100">
   {{quoteCount}} / {{maxQuotes}}
 </div>

..................

因此,我想在达到75%时添加类progress-bar bg-danger

2 个答案:

答案 0 :(得分:3)

您将需要访问进度条的值,因此理想情况下,您将v-model设置为某个数据值,例如progress。然后就这样:

:class="progress > 75 ? 'bg-danger' : '' "

答案 1 :(得分:0)

不是特定于OP的问题,但是我一直在寻找相同的问题,这有助于朝正确的方向前进。希望这也会对其他人有所帮助...

我想扩展/折叠导航项目的“组”。例如,以下页面可以位于网站的“关于我们”部分下。

  • 领导地位
  • 历史
  • 职业

在此示例中,如果选择了那些子菜单项中的任何一个,我想通过将父类设置为active来展开整个“关于我们”导航组。如果用户单击了另一个“组”,则要将父类设置为collapsed

<div class="nav item">
    <a class="nav-link"
        :class="(currentGroup === 'about') ? 'active' : 'collapsed'">About Us</a>
    ...
</div>

<div class="subnav-items">
    <a :href="'/leaderhip'"
        :class="{'active':(pathname === 'leadership')}">Leadership</a>
    <a :href="'/history'"
        :class="{'active':(pathname === 'history')}">History</a>
    <a :href="'/careers'"
        :class="{'active':(pathname === 'careers')}">Careers</a>
</div>

...

data: () => ({
    currentGroup: '',
    groups: {
        about: [
            'leadership',
            'history',
            'careers',
        ],
    },
    pathname: '',
}),
created() {
    this.pathname = window.location.pathname.split('/')[1];

    if (this.groups.about.includes(this.pathname)) {
        this.currentGroup = 'about';
    }
}