当前位置: 首页 > article >正文

vue3自定义修饰符

vue3自定义修饰符

    • 父组件
    • 子组件
    • 总结

父组件

<template>
  <div>
    <p>父子组件 firstName:{{firstName}} lastName:{{lastName}}</p>
    <username v-model:firstName.capitalize="firstName" v-model:lastName.toUpperCase="lastName" />
  </div>
</template>
<script setup>
import { ref } from 'vue'

import Username from '@/views/passValue/vmodel/username.vue'


const firstName = ref('')
const lastName = ref('')

const searchText = ref('')

const getCount = (count) => {
  console.log(count)
  countRef.value = count
}
</script>

<style scoped>

</style>

子组件

<template>
  <div>
    <input type="text" :value="firstName" @input="handleInput1"/>
    <input type="text" :value="lastName" @input="handleInput2"/>
  </div>
</template>
<script setup>
const props = defineProps({
  firstName: {
    type: String,
    default: '',
  },
  lastName:{
    type: String,
    default: ''
  },
  firstNameModifiers:{
    default: () => ({})
  },
  lastNameModifiers:{
    default: () => ({})
  }
})
const emit = defineEmits(['update:firstName','update:lastName'])
const handleInput1= (e) => {
  let value = e.target.value
  if(props.firstNameModifiers.capitalize){
    value = value.charAt(0).toUpperCase()+value.slice(1)
  }
  emit('update:firstName',value)
}
const handleInput2= (e) => {
  let value = e.target.value
  if(props.lastNameModifiers.toUpperCase){
    value = value.toUpperCase()
  }
  emit('update:lastName',value)
}
</script>

<style scoped>

</style>

总结

vue中自定义修饰符可以增强事件监听或双向数据绑定的功能,可以为特定的操作提供更多的灵活性,它通过组合指令和修饰符来简化代码,使其更具可读性和可重用性


http://www.kler.cn/a/593410.html

相关文章:

  • SQL SERVER日常运维巡检系列—结构设计
  • 为什么TCP需要三次握手?一次不行吗?
  • 面试整理--一个报告生成的方案解析
  • 破局与重构:技术演进中的性能优化与架构设计全景指南
  • SpringBoot的启动原理?
  • AI安全、大模型安全研究(DeepSeek)
  • Java基于SpringBoot的房屋租赁系统设计与实现(java+SpringBoot+vue+mysq+html)
  • Python高级:GIL、C扩展与分布式系统深度解析
  • axios 请求拦截器和 响应拦截器总结
  • 数组连续和 - 华为OD统一考试(C卷)
  • qemu ept设置过程
  • 在 STM32F7 系列微控制器中,使用定时器(如 TIM10)实现 10ms 中断,并在中断服务函数中调用 ProRelay() 函数
  • C#的字符串之String类与StringBuilder类区别于适用场景
  • UI设计中的加载动画:优化用户体验的细节
  • 【LangChain入门 3 Prompts组件】聊天提示词模板 ChatPromptTemplate
  • Vue3中的$attrs全解析
  • 网络编程之客户端聊天(服务器加客户端共三种方式)
  • Netty源码—1.服务端启动流程二
  • 蓝桥杯 修剪灌木
  • OAK相机入门(二):深度噪声滤除