vue2/3自定义组件支持v-model的方式区别

vue2

fireTicketEdit.vue

html 复制代码
<baseInfo :ticket.sync="ticketForm" />

baseInfo.vue

javascript 复制代码
<script>
export default {
  props: {
    ticket: Object
  },
  computed: {
    ticketForm: {
      get() {
        return this.ticket
      },
      set(newValue) {
        this.$emit('update:ticket', newValue)
      }
    }
  },
  methods: {
    deleteWorkOrder() {
      this.ticketForm.workOrderId = null
    }
  }
}
</script>

vue3

fireTicketEdit.vue

html 复制代码
<baseInfo v-model:ticket="ticketForm" />

baseInfo.vue

javascript 复制代码
<script setup>
import { computed, emit } from 'vue'

const props = defineProps({
  ticket: Object
})

const ticketForm = computed({
  get() {
    return props.ticket
  },
  set(newValue) {
    emit('update:ticket', newValue)
  }
})

function deleteWorkOrder() {
  ticketForm.value.workOrderId = null
}
</script>
相关推荐
2501_938773999 分钟前
从字节码生成看 Lua VM 前端与后端协同:编译器与执行器衔接逻辑
开发语言·前端·lua
La Pulga43 分钟前
【STM32】FLASH闪存
android·c语言·javascript·stm32·单片机·嵌入式硬件·mcu
荻酷社区1 小时前
HTML加密工具EXE软件介绍
前端·html·html加密·html代码加密工具
chxii1 小时前
前后端分离
前端
Nan_Shu_6141 小时前
学习:JavaScript(1)
开发语言·javascript·学习·ecmascript
青衫码上行1 小时前
【Java Web学习 | 第三篇】CSS(2) - 元素显示模式
java·前端·学习
木木子99992 小时前
Next.js, Node.js, JavaScript, TypeScript 的关系
javascript·typescript·node.js
IT_陈寒2 小时前
Redis性能翻倍的5个冷门技巧,90%的开发者都不知道第3个!
前端·人工智能·后端
柑橘乌云_2 小时前
学习记录-package.json的scripts添加参数的方式有那些
前端·学习·node.js·json
清沫2 小时前
规训 AI Agent 实践
前端·ai编程·cursor