vue中,如何根据一个number值的大小来给定颜色。

发布于 2022-09-07 07:46:17 字数 107 浏览 24 评论 0

我现在有一组数据,是通过v-for循环出来的,在这一组数据中,有个数据需要大于零的时候给红色,低于零的时候给绿色。具体实现代码有哪些方式啊?
我想写在循环体内,绑定样式做判断,但不知道怎么实现。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

无语# 2022-09-14 07:46:17
// template
<div v-for="item in list" :style="'color:'+(item.value>0?'red':'green')+';'">{{item.name}}</div>

// js
data () {
    return {
        list: [{
            name: 1,
            value: 1
        }, {
            name: 2,
            value: -1
        }, {
            name: 3,
            value: 3
        }]
    }
}

Update:
点击的时候更改背景颜色

// template
<div v-for="(item, index) in list" <!-- vue1.0 item和index换下位置 -->
      @click="clickHandler(index)"
      :class="{active: index === activeIndex}"
      :style="'color:'+(item.value>0?'red':'green')+';'">{{item.name}}</div>

// js
data () {
    return {
        list: [{
            name: 1,
            value: 1
        }, {
            name: 2,
            value: -1
        }, {
            name: 3,
            value: 3
        }],
        activeIndex: -1
    }
},

methods: {
    clickHandler (index) {
        this.activeIndex = index
    }
}

// css
.active {
  background-color: yellow;
}
清晨说晚安 2022-09-14 07:46:17

把样式弄成动态的就行

仲春光 2022-09-14 07:46:17
换class名吧
:class='[item.value>0?"green":"red"]'
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文