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

工业设计专业大学排名泉州关键词优化报价

工业设计专业大学排名,泉州关键词优化报价,国家网站建设的相关规定,wordpress个人唯美主题Vue3一个组件绑定多个 v-model,自定义 prop 和 event 名称 Vue3中v-model默认使用modelValue作为prop,update:modelValue作为事件,而Vue2使用的是value和input。此外,Vue3允许通过参数的方式为组件添加多个v-model绑定&#xff0…

Vue3一个组件绑定多个 v-model,自定义 prop 和 event 名称

Vue3v-model默认使用modelValue作为propupdate:modelValue作为事件,而Vue2使用的是valueinput。此外,Vue3允许通过参数的方式为组件添加多个v-model绑定,例如v-model:titlev-model:description,每个都可以对应不同的prop和事件。

例一

一个简单的双绑定
多个v-model绑定,比如用户信息和权限设置。子组件接收两个v-model,如userNameisAdmin,然后在子组件内部使用modelValue和对应的update事件。不过这里可能需要使用不同的参数,比如v-model:userNamev-model:isAdmin,然后子组件的props应该是userNameisAdmin,事件则是update:userNameupdate:isAdmin

基础用法 - 用户信息组件

ChildComponent.vue

<template><div><input :value="userName" @input="$emit('update:userName', $event.target.value)"><inputtype="checkbox":checked="isAdmin"@change="$emit('update:isAdmin', $event.target.checked)"></div>
</template><script setup>
defineProps(['userName', 'isAdmin']);
defineEmits(['update:userName', 'update:isAdmin']);
</script><!-- 父组件使用 -->
<!-- <UserForm v-model:user-name="userData.name" v-model:is-admin="userData.adminStatus" 
/> -->

例二

一个自定义事件名称
例子可以涉及自定义prop和事件名称,但根据Vue3的文档,实际上通过v-model的参数就可以直接指定prop和事件,不需要额外配置。例如,v-model:title="pageTitle"会自动使用title作为propupdate:title作为事件

自定义参数 - 分页组件

Pagination.vue

<template><div><button @click="$emit('update:currentPage', currentPage - 1)">上一页</button><span>{{ currentPage }}/{{ totalPages }}</span><button @click="$emit('update:currentPage', currentPage + 1)">下一页</button></div>
</template><script setup>
defineProps(['currentPage', 'totalPages']);
defineEmits(['update:currentPage']);
</script><!-- 父组件使用 -->
<!-- <Pagination v-model:current-page="page" :total-pages="totalPages"
/> -->

注意:在Vue3中,每个v-model绑定默认对应一个propupdate事件,因此自定义名称实际上是通过v-model的参数来实现的。例如,v-model:userName对应prop userName和事件update:userName

例三

更复杂的对象传递,比如绑定整个对象,需要使用计算属性的gettersetter

对象参数 - 颜色选择器

ColorPicker.vue

<template><input type="color" :value="color" @input="$emit('update:color', $event.target.value)"><inputtype="range":value="opacity"@input="$emit('update:opacity', $event.target.value)"min="0"max="1"step="0.1">
</template><script setup>
defineProps({color: String,opacity: Number
});
defineEmits(['update:color', 'update:opacity']);
</script><!-- 父组件使用 -->
<!-- <ColorPicker v-model:color="style.color" v-model:opacity="style.opacity"
/> -->

关键点总结:

  1. 使用 v-model:参数名 语法实现多个绑定
  2. 子组件通过 defineProps 接收参数
  3. 通过 update:参数名 事件触发更新
  4. 参数名会自动转换为kebab-case(如userName → user-name
  5. 支持任意数量的v-model绑定
  6. 可以组合使用普通propsv-model参数
http://www.dtcms.com/wzjs/262834.html

相关文章:

  • 真人性做爰网站网站竞价推广怎么做
  • 网站怎么找的付费推广外包
  • 深圳做网站的公司那个好h5页面制作平台
  • 传世网站建设希爱力双效片骗局
  • 昆明网站建设云集创网络营销顾问招聘
  • 做网站需学什么条件电商seo引流
  • 巴南区网站建设网络培训研修总结
  • 做360全景的网站泰安做网站公司
  • 西安网站建设培训中心百度上搜索关键词如何在首页
  • 淘宝网站建设费用常见的网站推广方式
  • 一学一做征文网站网站建设及网络推广
  • 湖南企业网站定制seod的中文意思
  • 什么网站做h5做得好时事新闻
  • 济源哪里做网站网站模板中心
  • 做图片网站 侵权杭州seo推广优化公司
  • 专业网站建设设计装饰seo网络营销技巧
  • 做营销型网站一般要多少钱seo是什么职位简称
  • 中国商标查询seo搜索引擎实战详解
  • 电脑公司网站源码重庆seo职位
  • 山东建设厅网站是什么全网推广网站
  • 南昌集团制作网站设计windows优化大师有毒吗
  • 石家庄网站托管公司网络营销的职能有哪些
  • 找个美工做淘宝网站需要多少钱网络维护培训班
  • 服务器 打开网站iis7百度爱采购排名
  • 汕尾建设网站百度平台客服人工电话
  • 做一个网站维护多少钱关键词分析
  • javaweb做商业网站百度地图收录提交入口
  • 凡科网站内容怎么做效果好网络营销是学什么的
  • 做公司网站需要准备什么网络推广公司有多少家
  • 北京专业的网站ui设计公司网页界面设计