初涉vue3.0,下面是我在demo中遇到的一些问题(我是用的vue-cli进行开发)

【1】main.js中配置

   第一个变化

  vue2.x ===  Vue.prototype.$baseURL= "https://www.xxxxxx.online/mxs/"

  vue3.0 === const app = createApp(App);   app.config.globalProperties.$baseURL= "https://www.xxxxxx.online/mxs/"

  vue3.0中main.js里面已经没有Vue,取代用的是createApp(App);

【2】this的问题

  vue2.x  === 可以在生命周期中通过this来获取当前实例;

  vue3.x === 已经没有this指向;

        首先引入  import { getCurrentInstance } from "vue";

        再在setup 中   const { proxy } = getCurrentInstance();    这里proxy就可以得到几乎等同于this的作用

       //补充说明:有的文章说用  const  { ctx } = getCurrentInstance();但是这样打包后会报错,用proxy就可以完美避免

【3】数据声明的变化

  import { ref } from "vue";

  setup() {

    let str1 = "str1";   //如果只是在setup内部调用,不在页面渲染的数据可以直接生命;

    let str2 = ref(str1)      //需要在页面渲染的数据用ref包裹,这样才能在后期修改变量值时,页面同步绚烂

    str2.value = "我改变了!"    //变量值被ref包裹时,想要修改得通过  变量名.value来修改否则会报错

    return {

      str2

    }

  }

【4】this.$emit的改变

  vue2.x  ===  子组件    this.$emit("handleFun",data);

  vue3.x ===   setup(props,context) {

          context.emit("handleFun",data);   //vue3.0  setup自带两个参数props,context可以直接使用注意这里emit没有$符号

                         父组件中还是同样的方式操作

        }

【5】props的用法

  vue2.x  === props:["attr1","attr2"];

  vue3.x ===

  html部分

  <div  v-for(item,index) in attr2 :key="index"  :style="{ 'color' : attr1 }" >

  script部分  

  import { toRefs } from "vue";

  props:{

    attr1:String,

    attr2:Object

  },

  setup(props) {

    const  { attr1 , attr2 } = toRefs(props);  //需要在setup读取props中属性值时使用,如果直接在html使用同vue2.x中一样直接使用即可

    const iNeed1 = attr1.value;     //使用时得用 .value  来读取属性值

    const iNeed2 = attr2.value

    return{

      props  //记得此处不return  props  ,html中将接受不到props属性

    }

  }

 //入住博客第一篇文章,如果觉得有帮助请帮忙点个赞什么的,如果觉得不好请谅解,培训出来的小菜比,全靠自己摸索====难受,有什么问题也可以跟我留言,如果我有过类似经历会更新博客回答你的问题

vue3.0的变化的更多相关文章

  1. vue3.0中的双向数据绑定方法

    熟悉vue的人都知道在vue2.x之前都是使用object.defineProperty来实现双向数据绑定的 而在vue3.0中这个方法被取代了 1. 为什么要替换Object.definePrope ...

  2. vue2.0 与 vue3.0 配置的区别

    提示:要了解vue2.0与vue3.0区别,首先你要熟悉vue2.0 从最明显最简单的开始 项目目录结构 可以明显的看出来,vue2.0与3.0在目录结构方面,有明显的不同(vue3.0我是安装了cs ...

  3. vue3.0和2.0的区别,Vue-cli3.0于 8月11日正式发布,更快、更小、更易维护、更易于原生、让开发者更轻松

    vue3.0和2.0的区别Vue-cli3.0于 8月11日正式发布,看了下评论,兼容性不是很好,命令有不少变化,不是特别的乐观vue3.0 的发布与 vue2.0 相比,优势主要体现在:更快.更小. ...

  4. Vue3.0 Function API---------引用

    1.了解 Vue 3.0 是否有 break change,就像 Python 3 / Angular 2 一样? 不,100% 兼容 Vue 2.0,且暂未打算废弃任何 API(未来也不).之前有草 ...

  5. 快速进阶Vue3.0

    在2019.10.5日发布了Vue3.0预览版源码,但是预计最早需要等到 2020 年第一季度才有可能发布 3.0 正式版. 可以直接看 github源码. 新版Vue 3.0计划并已实现的主要架构改 ...

  6. vue3.0 加载json的“另类”方法(非ajax)

    问题 加载json一定要用ajax的方式吗? 最近学习vue3.0,在实现一个功能的时候发现一个问题-- 写代码的时候,需要的json太长.太多,和代码放在一起太混乱.看代码总有翻来翻去,又没有&qu ...

  7. vue3.0 的 Composition API 的一种使用方法

    网上讨论的文章已经很多了,这里举一个简单的例子来讨论一下 Composition API 的用法,具体问题才好具体讨论嘛. 假如我们要做一个论坛的讨论列表和分页,以前是把需要的数据都放在data里面, ...

  8. Vue3.0 响应式数据原理:ES6 Proxy

    Vue3.0 开始用 Proxy 代替 Object.defineProperty了,这篇文章结合实例教你如何使用Proxy 本篇文章同时收录[前端知识点]中,链接直达 阅读本文您将收获 JavaSc ...

  9. 2021新年 Vue3.0 + Element UI 尝鲜小记

    2021年,又是新的一年,Vue 已经发布 3.0 版本,最好用的 UI 组件库 Element UI 也发布了适配 Vue3.0 的新版本,是时候开始学习一下这两个新技术. 本文主要记录了使用 Vu ...

随机推荐

  1. 影子卫士汉化语言包 res.ini

    [translate];authorinfo=Simplified Chinese Translation 简体翻译 by: Clarence [common]0=Shadow Defender 10 ...

  2. 自定义Tomcat部署目录

    1.创建配置文件 在Tomcat安装目录中conf-->Catalina-->localhost目录下,创建项目访问请求路径.xml文件 内容如下: <Context path=&q ...

  3. 支付宝手机端网页支付 PHP(基于官方提供的demo)

    1.支付宝开放平台添加应用并且签约快捷手机wap支付(应用添加不做详细说明) 2.下载demo,文档中心SDK&Demo, 3.个人中心秘钥管理,查看商户appID,商户私钥,支付宝公钥,商户 ...

  4. Spring Cloud Alibaba(11)---Sentinel+Nacos持久化

    Sentinel+Nacos持久化 有关Sentinel之前有写过两篇 Spring Cloud Alibaba(9)---Sentinel概述 Spring Cloud Alibaba(10)--- ...

  5. Python批量图片去水印,提高工作效率

    ​平常工作中,有时为了采用网络的一些素材,但这些素材往往被打了水印,如果我们不懂PS就无法去掉水印,或者无法批量去掉水印.这些就很影响我们的工作效率. 今天我们就一起来,用Python + OpenC ...

  6. [bug] powerdesigner 设置id 自增 Properties中没有identity

    参考 https://blog.csdn.net/qq_37924509/article/details/105215719

  7. 【转载】打造基于 Centos 7.X 的 spice 服务器

    [转载]打造基于 Centos 7.X 的 spice 服务器 https://segmentfault.com/a/1190000011991047

  8. 什么是CPU缓存

    一.什么是CPU缓存 1. CPU缓存的来历 众所周知,CPU是计算机的大脑,它负责执行程序的指令,而内存负责存数据, 包括程序自身的数据.在很多年前,CPU的频率与内存总线的频率在同一层面上.内存的 ...

  9. CentOS7中下载RPM及其所有的依赖包

    CentOS7中下载RPM及其所有的依赖包 转载beeworkshop 最后发布于2019-09-28 07:43:40 阅读数 1096  收藏 展开 利用 Downloadonly 插件下载 RP ...

  10. Ansible_主机变量和主机组变量的演示

    一.主机变量和主机组变量的演示 1.主机变量和主机组变量的基本语法和规则 请访问:https://www.cnblogs.com/itwangqiang/p/13592362.html 2.首先在/e ...