Vue3如何像在prototype(原型)上挂载数据

这篇具有很好参考价值的文章主要介绍了Vue3如何像在prototype(原型)上挂载数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 首先,由于Vue团队对原型链的封装和改进,Vue3无法像Vue2一样直接在原型上放置数据

下面是Vue2的做法:

//Vue2的main.js:
import Vue from 'vue'

Vue.prototype.myName = '张三';
//通过在Vue.prototype上放了一个myName的属性,其他组件都可以使用this.myName获取到张三

2. 在原型上挂载数据的作用是为了所有组件都可以通过 this. 获取到挂载的这个数据, 

如果Vue3想要达到同样的效果,即(所有组件都可以通过this.myName获取到张三),需要用到vue3的mixin方法

//Vue3的main.js
import { createApp } from 'vue'
import App from './App.vue'

//定义mixin
const myMixin = {
    created() {
        this.myName = '张三';
    }
};

const app = createApp(App);
//使用mixin
app.mixin(myMixin);

这样,在其他组件使用的时候就可以从app的实例获取到'张三',达到与在Vue.prototype上挂载数据同样的作用

3. 任意组件中使用:

--组合式api

//组合式api没有this,所以要用getCurrentInstance方法获取vue实例,上边挂载的数据就在实例中
<script setup>
import {getCurrentInstance} from "vue"
const v3This = getCurrentInstance()
console.log(v3This.ctx.myName);//张三
//挂载的数据被放在了getCurrentInstance函数返回结果的ctx上,
</script>

--选项式api 文章来源地址https://www.toymoban.com/news/detail-637188.html

//因vue3会兼容vue2的代码,所以也可以用vue2的选项式api的获取方式,直接从this上获取
<script>
export default {
    mounted(){
        console.log(this.myName)//张三
    }
}
</script>

到了这里,关于Vue3如何像在prototype(原型)上挂载数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 原型模式(Prototype Pattern)

    原型模式(Prototype Pattern)结构较为简单,它是一种特殊的创建型模式, 当需要创建大量相同或者相似对象时 ,可以 通过对一个已有对象的复制获取更多对象 。Java语言提供了较为简单的原型模式解决方案,只需要创建一个原型对象,然后通过在类中定义的克隆方法复制自己

    2024年02月03日
    浏览(33)
  • 5 原型模式 Prototype

    指原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 当代码不应该依赖于需要复制的对象的具体类时,请使用Prototype模式。 Spring源码中的应用   1.可以不耦合具体类的情况下克隆对象 2.避免重复的初始化代码 3.更方便的构建复杂对象

    2024年02月22日
    浏览(35)
  • 设计模式——原型模式(Prototype Pattern)

    概述        原型模式(Prototype  Pattern):使用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式是一种对象创建型模式。原型模式的工作原理很简单:将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝自

    2024年01月16日
    浏览(40)
  • 设计模式|原型模式(Prototype Pattern)

    原型模式(Prototype Pattern)是一种创建型设计模式,其核心思想是通过复制现有对象来创建新对象,而无需显式地指定它们的类。这种模式通常用于当对象的创建成本较高,或者对象初始化过程比较复杂时。 原型模式的主要角色包括原型接口(Prototype Interface)、具体原型类(

    2024年04月23日
    浏览(21)
  • 【设计模式--原型模式(Prototype Pattern)

    原型模式(Prototype Pattern)是一种创建型设计模式,它的主要目的是通过复制现有对象来创建新的对象,而无需显式地使用构造函数或工厂方法。这种模式允许我们创建一个可定制的原型对象,然后通过复制它来创建新的对象,从而避免了重复构建相似的对象。 在原型模式中

    2024年02月11日
    浏览(31)
  • 设计模式六:原型模式(Prototype Pattern)

    原型模式是一种创建对象的设计模式。它允许我们通过复制一个现有对象来创建新的对象,而无需知道其具体实现细节。在使用原型模式时,我们首先创建一个原始对象,然后根据需要复制该对象,以获得新创建的对象。 原型模式的主要思想是基于对象的复制。通过使用原型

    2024年02月14日
    浏览(32)
  • 原型模式 Prototype Pattern 《游戏编程模式》学习笔记

    用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 假设我现在要做一款游戏,这个游戏里有许多不同种类的怪物,鬼魂,恶魔和巫师。这些怪物通过“生产者”进入这片区域,每种敌人有不同的生产者。 假设每种怪物都有不同的类,同时他们都继承怪

    2024年02月12日
    浏览(28)
  • 创建型设计模式:5、原型模式(Prototype Pattern)

    目录 1、原型模式的含义 2、C++实现原型模式的简单实例 1、原型模式的含义 通过复制现有对象来创建新对象,而无需依赖于显式的构造函数或工厂方法,同时又能保证性能。 The prototype pattern is a creational design pattern in software development. It is used when the type of objects to create is det

    2024年02月13日
    浏览(28)
  • 设计模式之原型模式Prototype的C++实现

    1、原型模式提出 在软件功能设计中,经常面临着“某些结构复杂的对象”的创建工作,且创建的对象想拥有其他对象在某一刻的状态,则可以使用原型模型。原型模型是通过拷贝构造函数来创建对象,并且该对象拥有其他对象在某一刻的状态。 2、需求描述 设计产品A,B,这

    2024年02月12日
    浏览(31)
  • 《Java极简设计模式》第05章:原型模式(Prototype)

    作者:冰河 星球:http://m6z.cn/6aeFbs 博客:https://binghe.gitcode.host 文章汇总:https://binghe.gitcode.host/md/all/all.html 源码地址:https://github.com/binghe001/java-simple-design-patterns/tree/master/java-simple-design-prototype 沉淀,成长,突破,帮助他人,成就自我。 本章难度:★★☆☆☆ 本章重点:用

    2024年02月11日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包