第7节:Vue3 动态绑定多个属性

可以使用v-bind指令将多个属性动态绑定到元素上。以下是一个简单的实例:

复制代码
<template>
  <view class="container">
    <text v-bind="dynamicProps">{{ message }}</text>
    <button @click="toggleActive">切换激活状态</button>
  </view>
</template>

<script>
import { ref } from 'vue';

export default {
  setup() {
    const isActive = ref(false);
    const message = ref('Hello, uniapp!');
    const dynamicProps = computed(() => ({
      class: isActive.value ? 'active' : '',
      'aria-label': message.value,
    }));

    function toggleActive() {
      isActive.value = !isActive.value;
    }

    return {
      isActive,
      message,
      dynamicProps,
      toggleActive,
    };
  },
};
</script>

<style scoped>
.container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.active {
  color: red;
}
</style>

在这个例子中,我们使用computed函数创建了一个名为dynamicProps的计算属性,它根据isActive和message的值动态生成一个包含多个属性的对象。然后,我们使用v-bind指令将这些动态属性绑定到 元素上。

订阅专栏,每日更新

第8节:Vue3 全局访问

相关推荐
我命由我1234520 分钟前
访客系统形式(有用户概念、无用户概念)
java·开发语言·前端·javascript·python·产品运营·产品经理
key_3_feng35 分钟前
评估与对齐:Agent 自我进化的护栏
前端·数据库·agent
程序员大阳1 小时前
副队长JavaScript教程(65)-详解JSON:轻量级数据交换格式
javascript·json·序列化·反序列化·stringify·parse
LaughingZhu1 小时前
Product Hunt 热榜 2026-10-30:Empacer、Scape、Floot in ChatGPT
java·前端·数据库·人工智能·chatgpt·notion
Lank_M1 小时前
抠图结果缩放后边缘发脏,该怪的不是插值
前端
jerrywus2 小时前
Skill、MCP、Workflow、Rules、Memory 有什么区别?拿几次真实开发任务讲清楚
前端·agent·claude
补码缩写2 小时前
canvas 与 sharp 缩放透明图:默认预乘,非预乘得拆通道
前端
静默回滚2 小时前
抠图 PNG 缩小再放大,边缘又糊又白是两件事
前端
用户11977079480732 小时前
GitHub 电商开源项目分享:用 sharp 批量出饰品主图,试了裁剪、细节图和色彩配置文件三个坑
前端·node.js
deli0072 小时前
地图定位为什么偏了 500 米?GPS 与火星坐标实测
前端