VUE绑定动态事件及绑定动态属性

一、绑定动态事件

  • 绑定动态事件,默认为input事件获值
  • 绑定动态事件语法:@[事件类型]="事件名"
  • 修改事件类型,达到不同事件相同逻辑的目的
xml 复制代码
<template>
  <div class="box">
    <!-- 绑定自定义事件,默认为input事件获值 -->
    <input type="text" v-model="data.value" @[data.eventFlag]="getValue()" />
    <!-- 修改时间为失焦事件获值  -->
    <button @click="data.eventFlag='blur'">改为失焦获值</button>
  </div>
</template>
<script setup>
import { ref, reactive, toRefs, watch, computed, defineProps } from "vue";
import { useRoute, useRouter } from "vue-router";
const route = useRoute();
const router = useRouter();
const data = reactive({
  value: "",
  eventFlag: "input",
});
const getValue = () => {
  console.log(data.value);
}
// const { } = toRefs(data)
</script>
<style scoped lang="scss"></style>

二、绑定动态属性

  • 绑定动态属性,默认为placeholder,占位文本显示
  • 绑定动态属性语法::[属性名]="属性值"
  • 修改属性名,达到不同属性名相同属性值的目的
xml 复制代码
<template>
  <div class="box">
    <!-- 输入框定义属性,默认为占位文本显示,这里使用的原生属性,也可以定义组件用自定义属性实现-->
    <input type="text" v-model="data.value" :[data.maxlengthFlag]="6" />
    <!-- 修改属性 -->
    <button
      @click="
        data.maxlengthFlag == 'maxlength'
          ? (data.maxlengthFlag = 'placeholder')
          : (data.maxlengthFlag = 'maxlength')
      "
    >
    修改属性
    </button>
  </div>
</template>
<script setup>
import { ref, reactive, toRefs, watch, computed, defineProps } from "vue";
import { useRoute, useRouter } from "vue-router";
const route = useRoute();
const router = useRouter();
const data = reactive({
  maxlengthFlag: "placeholder",
  value: "",
});
// const { } = toRefs(data)
</script>
<style scoped lang="scss"></style>
相关推荐
zhangzeyuaaa2 分钟前
Ruby 方法参数完全指南:默认值、可变参数与关键字参数
前端·python·ruby
粥里有勺糖3 分钟前
视野修炼-技术周刊第135期 | 鼠标跟随宠物
前端·github·aigc
粥里有勺糖10 分钟前
拿 Codex 协助清理磁盘,Nice!
前端·后端·github
专业程序开发源13 分钟前
springboot高校学生社团管理系统74810-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·spring·php·课程设计
Highcharts.js20 分钟前
可视化商用图表库对比,如何选择?
前端·javascript·学习·信息可视化·highcharts·前端可视化
TheITSea1 小时前
JavaScript Web APIs
开发语言·前端·javascript
恋猫de小郭1 小时前
Android CLI 支持 AI Agent 通过 Device Streaming 调试云真机
android·前端·flutter
Wang's Blog2 小时前
Java 项目实战: 外卖平台优化-前端dist部署与Nginx反向代理rewrite
java·前端·nginx
专业程序开发源2 小时前
springboot生命故事书制作小程序65290-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·mysql·小程序·课程设计
鬓戈2 小时前
Claude Code frontend-design 插件调研 与 Vue 旧系统风格一致性方案
前端·vue.js·人工智能