初涉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. RxJava线程控制

    RxJava中的线程转换主要通过下面两个方法: 1.subscribeOn 2.observeOn 一.subscribeOn 1.调用一次subscribeOn时: Observable obser ...

  2. windows下使用dos命令手工与ntp服务器同步系统时间

    管理员模式的命令窗口 net stop w32time &w32tm /unregister &w32tm /register &net start w32time & ...

  3. .NET Worker Service 如何优雅退出

    上一篇文章中我们了解了 .NET Worker Service 的入门知识[1],今天我们接着介绍一下如何优雅地关闭和退出 Worker Service. Worker 类 从上一篇文章中,我们已经知 ...

  4. 【BUAA_2020_软工】个人作业

    个人项目作业博客 1. 在文章开头给出教学班级和可克隆的 Github 项目地址(例子如下).(1') 项目 内容 北航2020软工 班级博客 作业要求 具体要求 项目GitHub地址 个人项目 教学 ...

  5. [Linux] 完全卸载mysql

    参考 https://www.jianshu.com/p/ef58fb333cd6

  6. [OS] 汇编语言

    操作系统 每个进程拥有一片连续的内存空间(地址空间),空间中的每个字节都可以用一个32位无符号整数定位,每个字节的位置称为地址 CPU 32位:能够处理的数据最大为32bit,地址空间2^32< ...

  7. linux 视频输出xrandr设置命令

    linux 视频输出xrandr设置命令 沈祥佑关注 0.592019.03.28 17:44:09字数 397阅读 6,886 xrandr 不带参数的xrandr 命令会列出系统支持的视频接口名称 ...

  8. 搭建LAMP环境部署Nextcloud私人网盘

    搭建 LAMP 环境部署 Nextcloud 私人网盘 前言 Nextcloudd 是一个开源的.基于本地的文件共享和协作平台,它允许您保存文件并通过多个设备(如PC.智能手机和平板电脑)访问它们. ...

  9. Linux进阶之seq,pidof,wget,curl,tr,grep命令

    本节内容 seq  pidof  wget  curl  tr  grep 1.seq(sequence) 生成数列 例子1:指定结束位置 [root@renyz ~]# seq 5 1 2 3 4 ...

  10. DLL重定向处理

    说明 目前正在做的项目批次功能涉及第三方插件,而第三方插件需依赖4.* 版本的Newtonsoft.Json.dll,由于现有功能已经使用6.*版本的Newtonsoft.Json.dll,故采用了d ...