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

【3.0】vue3语法

【3】vue3语法

【一】vue前提

【1】定义变量

  • # 1 const是常量--》不允许变的
    # 2 咱们用 ref包裹后,是个对象,虽然对象是常量,对象不能变,对象.value可以变化
    # 3 之所以定义成const原因是,后期不能修改对象 【对象.value可以改】
    # 4 如果用let声明 ,后期修改对象不会报错,导致程序出问题
    

【2】js代码组合式

  • # 组合式和配置项能不能混用?-可以混用-并且在配置项api的方法中,可以拿到setup函数中定义的变量-以后只用一种-配置项-组合式(推荐的)
    

【二】setup函数

【1】setup介绍

  • setup用于script中,书写组合式代码,将变量和方法都当放入setup函数中,并且把数据要return出去,就直接可以在tenmplates中使用

  • <script>let app=Vue.createApp({setup() {//---------------放变量和方法---------------let count=Vue.ref(0)let a=10(不包裹的)let handleAdd=()=>{count.value++}//-----------将变量和方法return出去--------return {count,handleAdd,a}}, })app.mount("#app")
    </script>
    

【2】setup另一种用法

  • <script setup>  </script>
    
  • 这样写,就可以直接定义函数和变量,不需要返回;组件只需要导入,不需要注册

    <script setup>
    import HelloWorld from '@/components/HelloWorld.vue'
    import AboutView from "@/views/AboutView.vue"
    import {ref} from "vue";//定义值类型
    const count=ref(0)
    function add(){count.value++}
    //其他方法,正常写
    watch(...)
    </script>
    

【三】响应式ref和feactive

  • 如果不包裹,数据会改变,但是在前端不会显示,只有响应式的数据才会在界面实时更新变化
  • 不包裹,就是
(1)包裹
  • ref包裹值类型(数字,字符串,布尔),变成响应式
  • reactive包裹引用类型(对象,数组),做成响应式
(2)操作
  • ref包裹的,需要.value才能操作值(因为变成一个object类型了)
  • reactive包裹的,直接操作
(3)template使用
  • 和平时一样,ref包裹的不用.value

  • 示例

    <template><div class="about"><h3>{{count}}</h3><button @click="add">点我加1</button><h3>{{user_info.username}}</h3><button @click="changename">点我切换名字</button></div>
    </template><script>
    import {ref,reactive} from "vue";export default {name:'AboutView',setup(){//定义值类型const count=ref(0)function add(){count.value++}//定义引用类型const user_info=reactive({username:'zhou',age:18})function changename(){user_info.username='zhou2'}//所有都return出去return {count,add,user_info,changename}}}
    </script>
    

【四】组件间通信

【1】父传子defineProps
  • 父组件

    ---html(父亲提供信息msg,儿子提供变量msg_s)<HelloWorld :msg_s="msg"></HelloWorld>
    
  • 子组件

    ---js(儿子传递信息msg_sdefineProps({msg_s: String,})
    

【2】子传父defineEmits

  • 父组件

    --html(具有中间函数)<HelloWorld @send="handleReceive"></HelloWorld><p>父组件中得name:{{name}}</p>
    
    --js(父亲定义接收函数handleReceive)<script setup>const name = ref('')function handleReceive(a){name.value=a}</script>
    
  • 子组件

    --js(定义发送函数send)let $emit = defineEmits(['send']) # 等同于之前的  this.$emitconst name =ref('')const handleSend=()=>{$emit('send',name.value)}
    

【五】插槽

【1】默认插槽

【2】剧名插槽

<templates></templates>--slot插槽
<style> </style>---scope控制范围
<script> </script>---setup放函数和变量
#js中
【data】---const定义变量(类型ref和reactive)
【methods】--子传父:父亲接收的函数中$emit--
【属性】--计算computed(值变化就启动)--监听watch(监听新老值变化)--局部组件 commponts--混入mixin(抽取公共代码)--props(父传子,儿子接收)
#插件--自定义export default{ install(Vue){..--然后import
#路由--路由跳转this.$router.push()--路由守卫router.beforeEach--本地路由this.$route

相关文章:

【3.0】vue3语法

【3】vue3语法 【一】vue前提 【1】定义变量 # 1 const是常量--》不允许变的 # 2 咱们用 ref包裹后&#xff0c;是个对象&#xff0c;虽然对象是常量&#xff0c;对象不能变&#xff0c;对象.value可以变化 # 3 之所以定义成const原因是&#xff0c;后期不能修改对象 【对象.…...

Navicat Monitor 荣获 2024 年 DBTA “最佳数据库性能解决方案”读者选择奖

近期&#xff0c;Navicat 以其卓越的服务器监控与深度分析能力在众多杰出竞争者中脱颖而出&#xff0c;其监控产品 Navicat Monitor 荣获了 2024 年度 DBTA 读者选择奖中的“最佳数据库性能解决方案”殊荣。该奖项不仅是对 Navicat Monitor 在数据库监控与分析领域非凡实力的权…...

[论文笔记]ZeRO: Memory Optimizations Toward Training Trillion Parameter Models

引言 今天带来ZeRO: Memory Optimizations Toward Training Trillion Parameter Models的论文笔记。 大型深度模型提供了显著的准确性提升&#xff0c;但训练数十亿到数万亿个参数是具有挑战性的。现有的解决方案&#xff0c;如数据并行和模型并行&#xff0c;存在基本的局限…...

shuashuashua

CVE-2023-2130 靶标介绍&#xff1a; 在SourceCodester采购订单管理系统1.0中发现了一项被分类为关键的漏洞。受影响的是组件GET参数处理器的文件/admin/suppliers/view_details.php中的一个未知函数。对参数id的操纵导致了SQL注入。可以远程发起攻击。 通过标靶介绍可以知道…...

k8s之HPA

目录 1.HPA 2.部署 metrics-server 3.部署 HPA 4.总结 1.HPA HPA&#xff08;Horizontal Pod Autoscaling&#xff09;Pod 水平自动伸缩&#xff0c;Kubernetes 有一个 HPA 的资源&#xff0c;HPA 可以根据 CPU 利用率自动伸缩一个 Replication Controller、 Deployment 或…...

fun状态上传,并可手动控制

文章目录 引言上传原因:矛盾点:基础工程源码: 代码实操fun状态上传fun状态下发控制 引言 上传原因: 续上一节, 我们把fun像小灯一样, 加入了预警工程, 但是我们fun其实还有其他用处, 比如我们人工手动开风扇, 排风, 所以我们需要把fun的状态上传, 然后也可以通过服务器手动控制…...

【Canvas与艺术】四扇叶结

注意&#xff1a;此是一个看起来简单&#xff0c;实际上需要细细计算调整的拓扑图。 【成图】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head&…...

基于DVWA-Brute Force(LowMedium)的渗透测试

Brute force主要是通过爆破达到渗透目的&#xff1a; Low 查看源代码&#xff1a; <?phpif( isset( $_GET[ Login ] ) ) {// Get username$user $_GET[ username ];// Get password$pass $_GET[ password ];$pass md5( $pass );// Check the database$query "SE…...

水库大坝安全预警系统的作用

“汛情就是命令&#xff0c;防汛就是责任”&#xff0c;为了防治和减轻洪涝带来的危害&#xff0c;需要一种以预警为先导的临灾位移监测系统--水库大坝安全预警系统&#xff0c;对可能会出现的灾害进行实时远程监控&#xff0c;尽可能做到隐患早发现、早决策、早治理&#xff0…...

容器化部署ES集群

文章目录 一、ElasticSearch基本概念1、索引(Index)2、文档(Document)3、分片和副本4、映射(Mapping) 二、容器部署ElasticSearch集群三、容器部署ElasticSearch伪集群 一、ElasticSearch基本概念 1、索引(Index) 在ElasticSearch中&#xff0c;索引是文档的集合&#xff0c;类…...

使用排名前三的华为解锁工具来绕过忘记的华为锁屏密码

如果您在未使用“设置”应用的情况下将华为手机恢复出厂设置&#xff0c;同时启用了出厂重置保护 (FRP) 安全功能&#xff0c;您的华为设备将卡在帐户验证界面。您可以使用帐户凭据轻松绕过此锁定。但是&#xff0c;假设您无法回忆起旧的帐户信息。在这种情况下&#xff0c;您应…...

战神之父和前暴雪总裁都很期待《黑神话》:太酷想玩

近日《战神》之父David Jaffe在油管上发布视频&#xff0c;分享了他对《黑神话&#xff1a;悟空》的看法。他表示自己一直很关注这款游戏&#xff0c;该作的最终预告画面让他惊讶。而战斗部分更是让他大呼&#xff1a;“OMG”。 David Jaffe表示&#xff1a;“我必须要购买《黑…...

用户体验的优化:观测云在用户行为分析中的应用

在数字化商业环境中&#xff0c;用户体验的质量直接影响到品牌形象和客户忠诚度。观测云平台&#xff0c;作为一款专业的数据监控和分析工具&#xff0c;为企业提供了一个全面的解决方案&#xff0c;以深入分析用户行为并优化用户体验。 观测云的核心优势在于其能够实时处理和…...

ModelScope 部署 Flux 模型

Flux 文生图模型&#xff0c;是 Black Forest Labs 最近发布的模型&#xff0c;图片生成清晰度很高&#xff0c;模型可以在 ModelScope 上进行下载&#xff0c;本文将在本地环境中部署 Flex。使用环境如下 2080 TI 22GUbuntu 22Amd R7 2700 / 128G 启动 Model Scope 容器 Mo…...

ArkTs基础语法-声明式UI-基本概念

声明式UI语法 基本概念声明式UI描述创建组件无参数有参数 配置属性配置事件 配置子组件 基本概念 装饰器&#xff1a;用于装饰类、结构、方法及变量&#xff0c;并赋予其特殊的含义。 例如&#xff1a; Entry 有该装饰器的自定义组件&#xff0c;可以在UIAbility中使用&#xf…...

Day26 线程学习

线程相关知识总结 在多线程编程中&#xff0c;线程的管理和控制是非常重要的部分。本文将对线程的创建、取消、资源回收、竞争及顺序等方面进行详细总结。 一、线程的基本操作 pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine)(void*…...

eNSP 华为三层交换机实现VLAN间通信

华为三层交换机实现VLAN间通信 三层交换机&#xff1a; <Huawei>sys [Huawei]sys SW-3 [SW-3]vlan batch 10 20 [SW-3]int vlan 10 [SW-3-Vlanif10]ip address 192.168.10.254 24 [SW-3-Vlanif10]int vlan 20 [SW-3-Vlanif20]ip add 192.168.20.254 24 [SW-3-Vlanif20]in…...

【多模态大模型】LLaMA in arXiv 2023

一、引言 论文&#xff1a; LLaMA: Open and Efficient Foundation Language Models 作者&#xff1a; Meta AI 代码&#xff1a; LLaMA 特点&#xff1a; 该方法在Transformer的基础上增加了Pre-normalization (RMSNorm)、SwiGLU activation function (SwiGLU)、Rotary Embed…...

(转)java中restful接口和普通接口的区别

RESTful接口是一种遵循REST(Representational State Transfer)架构风格的网络接口&#xff0c;设计上更倾向于资源的表述&#xff0c;通过HTTP方法&#xff08;如GET、POST、PUT、DELETE&#xff09;直接操作资源&#xff0c;使得接口更简洁、易于理解和维护。 与普通接口相比…...

灵办AI免费ChatGPT4人工智能浏览器插件快速便捷(多功能)

灵办AI就是您所需的最佳助手&#xff01;我们为您带来了一款多功能AI工具&#xff0c;不仅能为您提供精准翻译&#xff0c;还能满足您的对话需求、智能续写、AI搜索、文档阅读、代码生成与修正等多种需求。灵办 AI&#xff0c;真正让工作和学习变得轻松高效&#xff01; 推荐使…...

Phi-3-mini-128k-instruct在软件测试中的应用:自动化生成测试用例与脚本

Phi-3-mini-128k-instruct在软件测试中的应用&#xff1a;自动化生成测试用例与脚本 1. 引言 如果你是一名软件测试工程师&#xff0c;或者正在准备软件测试面试&#xff0c;下面这个问题你一定不陌生&#xff1a;“如何保证测试用例的覆盖率&#xff0c;尤其是在需求频繁变更…...

提升协作效率:开源实时协作Markdown工具全解析

提升协作效率&#xff1a;开源实时协作Markdown工具全解析 【免费下载链接】codimd CodiMD - Realtime collaborative markdown notes on all platforms. 项目地址: https://gitcode.com/gh_mirrors/co/codimd 在数字化协作日益频繁的今天&#xff0c;一款能够让团队成员…...

如何快速解密Navicat加密密码?这款开源工具让数据库连接迁移更简单

如何快速解密Navicat加密密码&#xff1f;这款开源工具让数据库连接迁移更简单 【免费下载链接】navicat_password_decrypt 忘记navicat密码时,此工具可以帮您查看密码 项目地址: https://gitcode.com/gh_mirrors/na/navicat_password_decrypt 在数据库管理工作中&#…...

3个核心价值:XianyuAutoAgent监控系统全解析

3个核心价值&#xff1a;XianyuAutoAgent监控系统全解析 【免费下载链接】XianyuAutoAgent 智能闲鱼客服机器人系统&#xff1a;专为闲鱼平台打造的AI值守解决方案&#xff0c;实现闲鱼平台724小时自动化值守&#xff0c;支持多专家协同决策、智能议价和上下文感知对话。 项目…...

OpenClaw成本优化方案:GLM-4.7-Flash自建接口对比OpenAI API实测

OpenClaw成本优化方案&#xff1a;GLM-4.7-Flash自建接口对比OpenAI API实测 1. 为什么需要关注OpenClaw的Token消耗 上周我让OpenClaw帮我整理一个200页PDF的技术文档&#xff0c;第二天查看账单时发现OpenAI API调用费用高达37美元——这个数字让我意识到必须重新审视自动化…...

OpenPLC Editor:重塑工业自动化编程的开源方案

OpenPLC Editor&#xff1a;重塑工业自动化编程的开源方案 【免费下载链接】OpenPLC_Editor 项目地址: https://gitcode.com/gh_mirrors/ope/OpenPLC_Editor 在工业自动化领域&#xff0c;PLC&#xff08;可编程逻辑控制器&#xff09;编程长期被商业软件垄断&#xff…...

Proteus仿真实战:基于STM32的波形发生器设计与实现(附源码与仿真文件)

1. 从零开始&#xff1a;STM32波形发生器的设计思路 第一次接触波形发生器项目时&#xff0c;我也被各种专业术语搞得一头雾水。后来发现&#xff0c;其实可以把STM32想象成一个音乐盒&#xff0c;DAC模块就是它的发声装置&#xff0c;而我们要做的就是教会这个音乐盒演奏不同风…...

矢量网络分析仪(VNA)校准实战:从原理到操作全解析

1. 矢量网络分析仪校准的核心原理 第一次接触矢量网络分析仪&#xff08;VNA&#xff09;时&#xff0c;我完全被那些复杂的S参数曲线搞懵了。直到老师傅告诉我&#xff1a;"VNA就是个高级照妖镜&#xff0c;校准就是给它配副好眼镜"。这个比喻让我恍然大悟——没有校…...

Ollama API 实战:5分钟搞定本地大模型聊天机器人(Python版)

Ollama API 实战&#xff1a;5分钟搞定本地大模型聊天机器人&#xff08;Python版&#xff09; 在AI技术快速发展的今天&#xff0c;本地运行大型语言模型已成为可能。Ollama作为一个轻量级框架&#xff0c;让开发者能够轻松在本地计算机上部署和运行各种开源大模型。本文将带你…...

基于STM32G431的IF强拖+双DQ空间切换代码及流程详解

基于stm32g431的if强拖 双dq空间切换代码&#xff0c;有论文支持&#xff0c;主要包含以下流程&#xff1a; 1、转子预定位&#xff1b; 2、升速阶段&#xff1b; 3、恒速阶段&#xff1b; 4、iq下降阶段&#xff0c;准备切入闭环&#xff1b; 代码配置部分由cube生成&#xf…...