首页 > 其他分享 >Vue3.4+版本中的 defineModel 宏的用法示例

Vue3.4+版本中的 defineModel 宏的用法示例

时间:2024-05-27 18:45:40浏览次数:29  
标签:const score 示例 defineModel Vue3.4 msg ref

关于 defineModel ,Vue官方给出了较为详细的解释,具体请看 文档说明

下面是整理出的一个简易示例:

子元素代码:

// Comp.vue
<script setup>
const msg = defineModel('msg', { type: String, default: '' });

const score = defineModel('score', { type: Number, default: 0 });

/**
 * 更新score(同步更新父元素中的数据)
 */
const onClick = () => {
  score.value += 1;
};
</script>

<template>
  <div style="margin: 10px;padding: 8px;background-color: azure;">
    <span>子组件</span>
    <div>
      <input v-model="msg"  />
    </div>
    <span>dubble score: {{score * 2}}</span>
    <br />
    <button @click="onClick">score + 1</button>
  </div>
</template>

父元素代码:

<script setup>
import Comp from './Comp.vue';
import { ref } from 'vue';

const msg = ref('Hello World!');
const score = ref(1);
</script>

<template>
  <div style="border: 1px solid goldenrod">
    <span>父组件</span>
    <h1>{{ msg }}</h1>
    <h2>origin-score: {{score}}</h2>
  </div>
  <Comp 
    v-model:msg="msg" 
    v-model:score="score"
  />
</template>

 

代码对应的视图样式图片:

代码视图

标签:const,score,示例,defineModel,Vue3.4,msg,ref
From: https://www.cnblogs.com/fanqshun/p/18216210

相关文章

  • 基于翔云C#语言的身份证实名认证接口开发示例
    现如今,安全与便捷成为了互联网服务的两大关键词。为了进一步提升用户体验并加强网络安全管理,国内多家主流App近日宣布完成一项重要功能升级——集成身份证实名认证系接口。这一举措标志着用户在进行App注册时,将享受到更加高效、安全的身份验证体验。以往,用户在注册各类App......
  • USB接口协议和应用示例
    1USB接口简介1.1USB接口发展历史USB全称为UniversalSerialBus,翻译过来就是通用串行总线。由英特尔与众多电脑公司提出来,用于规范电脑与外部设备的连接与通讯。目前USB接口已经得到了大范围的应用,已经是电脑、手机等终端设备的必配接口,甚至取代了大量的其他接口。比如......
  • 通过apisix访问k8s的service示例
    kind:IngressapiVersion:networking.k8s.io/v1metadata:labels:app:test-webname:test-webnamespace:testannotations:k8s.apisix.apache.org/enable-websocket:"true"kubernetes.io/ingress.class:apisixkubernetes.io/p......
  • 通过apisix调用eureka上注册的服务示例
    ---apiVersion:apisix.apache.org/v2kind:ApisixUpstreammetadata:labels:app:test-servicename:test-servicenamespace:crmspec:scheme:httploadbalancer:type:roundrobintimeout:connect:10ssend:15sread:15sd......
  • HTML+CSS实现全景轮播的示例代码
    创建一个全景轮播效果可以通过HTML和CSS来实现,这里提供一个简单的示例代码。这个示例中,我们将使用HTML来构建基本的轮播结构,CSS来添加样式和实现轮播效果。<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-wi......
  • opencv超级像素示例
       /**createSuperpixelLSC(cv::InputArrayimg,intregion_size,floatratio)其中各个参数意义如下:    image:输入图像    region_size:平均超像素大小,默认10    ratio:超像素紧凑度因子,默认0.075*/voidsuperpixelLSC(constMat&img){cv::Ptr<......
  • ASP.NET CORE kindeditor在线编辑器示例(上传多图和插入VIDEO标签)
    2024年05月26日更新以前记录都过时了,ASP.NETASPX版本的直接看他里面的示例就好,今天把自己弄的上传多图和插入video标签的代码贴上来。。以备以后需要用的时候直接复制粘贴。。。ASP.NETCORE版本,VS2022,原来里面也有个上传多图和插入视频的。。用的flash来上传多图和插入的embe......
  • Python_DataFrame-的apply方法的应用示例_pandas
    DataFrame拆分-应用-合并split-apply-combineapply()方法是针对某些行或列进行操作的,applymap()方法是针对所有元素进行操作的DataFrame对象,apply函数的语法如下:DataFrame.apply(func,axis=0,raw=False,result_type=None,args=(),**kwds)Series对象,ap......
  • Django中型项目的目录结构和一个应用创建启动示例
    一个中等Django项目的目录结构包含多个应用、配置文件、静态文件和模板文件等。myproject/├──manage.py#Django项目管理脚本,用于运行服务器、迁移数据库等管理命令├──myproject/#项目配置目录,包含全局配置文件和静态、模板文件│├──__init__.......
  • Django应用创建到启动的简单示例
    一、系统环境和前置安装Ubuntu系统192.168.2.101,客户端192.168.2.100python3及虚拟环境管理库python3-venv创建项目文件创建djangoweb项目配置ALLOW_HOSTS=['*']二、创建并注册app创建django-adminstartappapp1注册app修改项目配置文件settings.py,在INSTALLED_APPS......