vue根据不同文字显示不同颜色

该代码示例展示了如何在Vue.js中使用模板语法进行数据绑定,遍历列表并根据内容应用不同颜色。`activation`计算属性用于根据内容值动态改变列表项的颜色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<template>
    <div>
        <h1>temp1</h1>
        <div>
            <ul >
                <dir v-for="item in tss" :key="item">
                    <li>{{ item.title }}</li>
                    <li :style="activation(item.content)">{{ item.content }}</li>
                </dir>
            </ul>
        </div>
    </div>
</template>

<script>
    export default {
        data() {
            return {
                tss: [
                    {'title': 'jj','content': 'err'},
                    {'title': 'jon','content': 'ok'},
                    {'title': 'jay','content': 'wining'},
                    {'title': 'james','content': 'mvp'}
                ]
            }
        },
        computed: {
            activation() {              
                return (icontent) => { // 使用JavaScript闭包,进行传值操作
                    console.log(icontent)
                    
                    if (icontent === "err"){
                        return {'color':'red'}
                    } 
                    else if (icontent === "ok"){
                        return {'color':'blue'}
                    } 
                    else if (icontent === "wining"){
                        return {'color':'yellow'}
                    }
                        
                }
            }
        }
    }
</script>

<style>
</style>


好的,针对您的问题,可以参考如下思路: 1.Vue 中,我们可以使用 `v-if` 或 `v-show` 指令来实现点击切换两段文字的功能。这两个指令的区别在于,`v-if` 会直接将元素从 DOM 中移除,而 `v-show` 则是通过设置 CSS 的 `display` 属性来控制元素的显示/隐藏。 2. 对于字体颜色和字体大小的修改,我们可以通过绑定样式的方式来实现。在 Vue 中,可以使用 `v-bind` 或简写的 `:` 来进行样式绑定。同时,我们可以通过绑定不同的类名来实现不同的样式效果。 综上,我们可以编写如下代码来实现点击切换两段文字,并且可以动态修改文字颜色和大小: ```html <template> <div> <p v-show="showText1" @click="toggleText" :class="{ 'text1': true, 'active': text1Active }">{{ text1 }}</p> <p v-show="!showText1" @click="toggleText" :class="{ 'text2': true, 'active': text2Active }">{{ text2 }}</p> </div> </template> <script> export default { data() { return { showText1: true, text1: 'Hello, World!', text2: 'Bonjour le monde!', text1Active: false, text2Active: false, }; }, methods: { toggleText() { this.showText1 = !this.showText1; this.text1Active = this.showText1; this.text2Active = !this.showText1; }, }, }; </script> <style> p { cursor: pointer; font-size: 16px; } .text1 { color: black; } .text1.active { color: red; font-size: 20px; } .text2 { color: blue; } .text2.active { color: green; font-size: 24px; } </style> ``` 在上述代码中,我们使用了 `v-show` 指令来控制两段文字显示/隐藏,使用 `@click` 来监听点击事件,并在 `toggleText` 方法中修改 `showText1` 的值以实现切换。同时,我们使用了 `:class` 来绑定类名,并将不同的类名分别绑定到不同的 `<p>` 元素上。我们为这些类名分别定义了不同的样式,例如 `text1` 对应黑色字体,`text1.active` 对应红色字体和更大的字号,`text2` 对应蓝色字体,`text2.active` 对应绿色字体和更大的字号。在需要时,我们通过修改 `text1Active` 和 `text2Active` 的值来切换不同的类名,从而实现不同的样式效果。最后,我们为 `<p>` 元素添加了 `cursor: pointer` 样式,使其在鼠标悬停时显示为手型,以提示用户可以点击该元素。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值