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>
相关推荐
想不明白的过度思考者3 分钟前
Spring Web MVC从入门到实战
java·前端·spring·mvc
AAA简单玩转程序设计32 分钟前
C++进阶小技巧:让代码从"能用"变"优雅"
前端·c++
子洋32 分钟前
群晖 DSM 更新后 Cloudflare DDNS 失效的排查记录
前端·后端·dns
一颗烂土豆40 分钟前
告别 Vue 多分辨率适配烦恼:vfit 让元素定位 “丝滑” 跨设备
前端·vue.js
ArkPppp42 分钟前
牛刀小试:Vue 3的响应式系统和Proxy?
前端
venton44 分钟前
Next.js SSR 实战:从零到一,构建服务端渲染应用
前端
萌狼蓝天1 小时前
[Vue]性能优化:动态首行与动态列的匹配,表格数据格式处理性能优化
前端·javascript·vue.js·性能优化·ecmascript
一 乐1 小时前
宠物管理宠物医院管理|基于Java+vue的宠物医院管理系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·宠物
一 乐1 小时前
学习辅导系统|数学辅导小程序|基于java+小程序的数学辅导小程序设计与实现(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·学习·小程序