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>
相关推荐
姑苏洛言15 分钟前
扫码点餐小程序产品需求分析与功能梳理
前端·javascript·后端
Freedom风间19 分钟前
前端必学-完美组件封装原则
前端·javascript·设计模式
江城开朗的豌豆23 分钟前
React表单控制秘籍:受控组件这样玩就对了!
前端·javascript·react.js
一枚前端小能手39 分钟前
📋 代码片段管理大师 - 5个让你的代码复用率翻倍的管理技巧
前端·javascript
国家不保护废物1 小时前
Web Worker 多线程魔法:告别卡顿,轻松实现图片压缩!😎
前端·javascript·面试
接着奏乐接着舞。1 小时前
如何在Vue中使用拓扑图功能
前端·javascript·vue.js
老华带你飞1 小时前
生产管理ERP系统|物联及生产管理ERP系统|基于SprinBoot+vue的制造装备物联及生产管理ERP系统设计与实现(源码+数据库+文档)
java·数据库·vue.js·论文·制造·毕设·生产管理erp系统
阳先森1 小时前
Vue3 Proxy 为何不直接返回target[key],选用Reflect
前端·vue.js
ONE_Gua2 小时前
魔改chromium源码——解除 iframe 的同源策略
前端·后端·浏览器
用户1512905452202 小时前
mysql8的collate问题和修改
前端