vue2【Options 选项API、mixin混入】,vue3【Composition 合成API、hooks】

news2024/11/26 10:00:06

目录

逻辑组合/复用机制

mixin混入状态复用【官方不推荐使用】

生命周期合并

同名覆盖

难溯源

hooks钩子【只能在setup生命周期中用】

 ref ()、reactive()=useState 

computed()=useMemo

自定义: useXxx 

示例

Vue2 :Options API选项类型(属性data、methods、computed)

Vue3 :Composition API合成型(函数定义组件逻辑,不同组件中可复用)

Vue3.0 暴露变量必须 return 出来,template 中才能使用

Vue3.2 中 只需要在 script 标签上加上 setup 属性

逻辑组合/复用机制

mixin混入状态复用【官方不推荐使用】

生命周期合并

同名覆盖

难溯源

// mixin1
export default {
  created() {
      console.log('我是ikun一号')
  },
  method: {
      sayKunkun() {
          console.log('kunkun好帅~')
      }
  }
}

// mixin2
export default {
  method: {
      say() {
          this.sayKunkun();
      }
  }
}

// index.vue
export default {
  mixins: [mixin1, mixin2],
  created() {
      this.say()
      this.love()
  },
  method: {
      say() {
          console.log('index.vue ikun')
      },
      love() {
          this.sayKunkun()
      }
  }
}

我是ikun一号
index.vue ikun
kunkun好帅~

  • mixin的 craeted 和 index.vue 的 created 合并执行了
  • index.vue 的 say 函数顶掉了 mixin 的 say 函数
  • mixin2 居然能访问到 mixin1 的 sayKunkun 函数

hooks钩子【只能在setup生命周期中用】

“高度聚合,可阅读性提升”。伴随而来的便是 “效率提升,bug变少”

 ref ()、reactive()=useState 

computed()=useMemo

自定义: useXxx 

示例

Vue2 :Options API选项类型(属性datamethodscomputed

选项在组件实例化后会被合并到组件实例中,可以在组件内部访问和使用。

<template>
  <div>
    <p>{{ message }}</p>
    <button @click="changeMessage">Change Message</button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      message: 'Hello Vue!'
    };
  },
  methods: {
    changeMessage() {
      this.message = 'New Message';
    }
  }
};
</script>

Vue3 :Composition API合成型(函数定义组件逻辑,不同组件中可复用)

Vue3.0 暴露变量必须 return 出来,template 中才能使用

<template>
  <div>
    <p>{{ message }}</p>
    <button @click="changeMessage">Change Message</button>
  </div>
</template>

<script>
import { ref } from 'vue';

export default {
  setup() {
    //ref函数来创建一个响应式的数据
    const message = ref('Hello Vue!');

    const changeMessage = () => {
      message.value = 'New Message';
    };

    return {
      message,
      changeMessage
    };
  }
};
</script>

Vue3.2 中 只需要在 script 标签上加上 setup 属性

<script setup>
...
</script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1146929.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

代码审计-锐捷NBR路由器 EWEB网管系统 远程命令执行

那天下着很大的雨&#xff0c;母亲从城里走回来的时候&#xff0c;浑身就是一个泥人&#xff0c;那一刻我就知道我没有别的选择了 出现漏洞的文件在 /guest_auth/guestIsUp.php 审查源码我们发现通过命令拼接的方式构造命令执行 构造payload&#xff1a; /guest_auth/guestI…

基于闪电搜索算法的无人机航迹规划-附代码

基于闪电搜索算法的无人机航迹规划 文章目录 基于闪电搜索算法的无人机航迹规划1.闪电搜索搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要&#xff1a;本文主要介绍利用闪电搜索算法来优化无人机航迹规划。 …

基于入侵杂草算法的无人机航迹规划-附代码

基于入侵杂草算法的无人机航迹规划 文章目录 基于入侵杂草算法的无人机航迹规划1.入侵杂草搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要&#xff1a;本文主要介绍利用入侵杂草算法来优化无人机航迹规划。 …

windows8080端口占用

查看端口占用 netstat -ano | findstr “8080”查看占用进程 tasklist | findstr “4664”关闭占用进程 taskkill /f /t /im httpd.exe

关于git推送代码到github远程仓库中文乱码问题,visual studio保存文件默认编码格式问题

中文乱码问题本质上的原因是&#xff1a;二者的编码格式不同。当你用GB2313格式保存一个文件&#xff0c;用utf-8的格式打开&#xff0c;它必然就显示乱码。 据我所知&#xff0c;github上面是utf-8&#xff0c;而visual studio默认保存为GB2312&#xff0c;把代码推送到gith…

ChineseChess.2023.10.29.02

中国象棋残局模拟器 中国象棋残局模拟器ChineseChess.2023.10.29.02_桌游棋牌热门视频

Mac docker+vscode

mac 使用docker vs code 通过vscode 可以使用docker容器的环境。 可以在容器安装gdb, 直接调试代码。 创建容易时候可以指定目录和容易目录可以共享文件。

音画欣赏|《诗和远方》

《诗和远方》 8050cm 陈可之2020年绘 面朝大海&#xff0c;春暖花开 [海子] 从明天起&#xff0c;做一个幸福的人 喂马、劈柴&#xff0c;周游世界 从明天起&#xff0c;关心粮食和蔬菜 我有一所房子&#xff0c;面朝大海&#xff0c;春暖花开 从明天起&#xff0c;和每一…

超市便利店小程序商城该是怎样的

超市便利店的数量非常多&#xff0c;在人流聚集处和小区周边&#xff0c;线下店主要以周边客户为主&#xff0c;一般来说不会缺生意&#xff0c;但也不会有大的增长&#xff0c;线上电商冲击下&#xff0c;尤其是中大型超市或连锁&#xff0c;需要商家线上发展获得生意。 而除…

基于群居蜘蛛算法的无人机航迹规划

基于群居蜘蛛算法的无人机航迹规划 文章目录 基于群居蜘蛛算法的无人机航迹规划1.群居蜘蛛搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要&#xff1a;本文主要介绍利用群居蜘蛛算法来优化无人机航迹规划。 …

拉扎维模拟CMOS集成电路设计西交张鸿老师课程P6~9视频学习记录

目录 p6 p7 CG放大器 输入阻抗的计算方法&#xff1b; 输出阻抗的计算​编辑​编辑 p8p9 为什么需要差动放大器 噪声 什么是差分信号 基础差动放大器 利用叠加法求解增益&#xff1b; 共模响应 CMRR 带其他类似负载的差动对 ------------------------------------…

Nacos的安装和实操

前言 最近在学SpringCloud&#xff0c;写下遇到的问题方便自己方便他人&#xff0c;主要描述Nacos的安装与会遇到的一些问题&#xff0b;代码实操 文章目录 前言Nacos基本介绍Nacos基本使用Nacos的安装部署Nacos配置MySQL数据源管理界面鉴权设置 简单的操作Demo Nacos基本介绍…

window11 更改 vscode 插件目录,释放C盘内存

由于经常使用vscode开发会安装一些代码提示插件&#xff0c;然后C盘内容会逐渐缩小&#xff0c;最终排查定位到vscode。这个吃内存不眨眼的家伙。 建议&#xff1a;不要把插件目录和vscode安装目录放在同一个位置&#xff0c;不然这样vscode更新后&#xff0c;插件也会消失。 v…

【Docker 内核详解】cgroups 资源限制(二):组织结构与基本规则、子系统简介

cgroups 资源限制&#xff08;二&#xff09;&#xff1a;组织结构与基本规则、子系统简介 1.组织结构与基本规则2.子系统简介 1.组织结构与基本规则 在之前的博客已经介绍过&#xff0c;传统的 Unix 任务管理&#xff0c;实际上是先启动 init 任务作为根节点&#xff0c;再由…

java项目之宠物医院信息管理系统(ssm框架)

项目简介 宠物医院信息管理系统实现了以下功能&#xff1a; 管理员&#xff1a;个人中心、用户管理、医生管理、医学知识管理、科室信息管理、医生信息管理、预约挂号管理、医嘱信息管理、药品信息管理、订单信息管理、留言板管理、系统管理。用户&#xff1a;个人中心、预约…

MC红石粉、红石火把、中继器学习笔记

红石粉 按右键可以改变它的形态红石线的强度会从15递减至0。红石线可以往上爬一格&#xff0c;但是不能爬2格以上的。 红石线在非实体方块只能往上爬而不能往下爬 做一个可控制的轨道运输 玩生存的我一直想做一个可控制的铁轨&#xff0c;遇到的一个问题就是&#xff0c;矿…

ROS笔记之visualization_msgs-Marker的mesh_resource导入外部模型学习

ROS笔记之visualization_msgs-Marker的mesh_resource学习 code review! 文章目录 ROS笔记之visualization_msgs-Marker的mesh_resource学习1.运行2.文件结构3.main.cc 参考博文 1.kitti之ros可视化_学习笔记–第4课&#xff1a;车子模型的添加 2.rviz进行kitti数据集可视化时…

SAP从入门到放弃系列之QM动态修改(Dynamic Modification)

目录 一、 概念二、系统操作 一、 概念 结合样本确定&#xff0c;动态修改也发挥着重要作用。根据先前检验的结果&#xff0c;动态修改会自动减少或增加 样本的大小。设置一定的规则&#xff0c;可以减少或增加检验中涉及的工作&#xff0c;也可节约检验成本。但是注意这种情况…

UE VaRest 从本地读取写入JSON(蓝图)

写入简单JSON到本地项目目录 写入位置&#xff1a;项目根目录 文件名&#xff1a;writjson.Json 写入内容&#xff1a;{“ke1”:“key1value”,“ke2”:“ke2value”} 从本地项目目录加载json 加载位置&#xff1a;项目根目录 文件名&#xff1a;writjson.Json 加载内容&…

Photoshop(PS)安装教程(2023最新最详细图文教程)

目录 一.简介 二.安装步骤 软件&#xff1a;PS版本&#xff1a;2023语言&#xff1a;简体中文大小&#xff1a;3.20G系统要求&#xff1a;Win10&#xff08;1903&#xff09;及以上版本&#xff0c;64位操作系统硬件要求&#xff1a;CPU2.0GHz 内存8G(或更高&#xff0c;不支持…