lzj01231 2023-07-25 23:12 采纳率: 70.6%
浏览 9
已结题

以下是我使用vue写的前端页面,为什么我后面两条语句时v-bind是无法生效的呢

以下是我使用vue写的前端页面,为什么我后面两条语句时v-bind是无法生效的呢?

<template>
    <view>
        <view class="block" :class="{attackBlock:attackState}" @click="attack()"></view>
        <view class="block" :class="attackState ? 'attackBlock' : ''" @click="attack()"></view>
        <view class="block" :class="`attackBlock:${attackState}`" @click="attack()"></view>
        <view class="block" :class="'attackBlock:'+attackState" @click="attack()"></view>
    </view>
</template>

<script>
    export default {
        data() {
            return {
                attackState:true
            }
        },
        methods: {
            attack(){
                this.attackState=!this.attackState
            }
        }
    }
</script>

<style>
    .block{
        width: 200rpx;
        height: 200rpx;
        background: green;
    }
    .attackBlock{
        background: pink;
        border-radius: 25rpx;
    }
</style>

img

  • 写回答

5条回答 默认 最新

  • 藏柏 2023-07-26 09:57
    关注

    第三个不对是因为:class绑定中不需要使用模板字符串,只需在双引号内使用表达式即可
    第四个不对是因为在绑定中使用加号连接字符串不是合法的方式

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 8月4日
  • 已采纳回答 7月27日
  • 创建了问题 7月25日