美文网首页
3月总结

3月总结

作者: 拾钱运 | 来源:发表于2021-09-13 15:54 被阅读0次

    Vue2.x 和vue3.x的语法区别

    vue2.x使用*import Vue from 'vue'*,然后使用new Vue()创建实例。vue3.x则是*import {createApp} from 'vue'*,通过createApp()来创建实例了。
    
    image.png

    Router.js创建路由

    Vue3.x需要引入createRouter创建地址路由。

    createWebHashHistory对应之前的hashcreateWebHistory对应之前的history

    image.png

    Vuex状态管理

    堆栈内容

    深拷贝和浅拷贝

    深拷贝的方法:

    一、 逐个去拿到简单数据项(网上可以搜到递归解决,思路类似)

    let obj = {name:'fiona-SUN'}; letcopyFunc = (originObj) =>{ letcopyObj = {}; for(letkey in originObj){ copyObj[key] = originObj[key]; } returncopyObj; }; letcopyObj = copyFunc(obj); copyObj.name = 'fiona'; console.log(copyObj.name); // 'fiona' console.log(obj.name); // 'fiona-SUN'
    

    · 二、方法二:通过JSON去解析

    et obj = {name:'fiona-SUN'}; letcopyObj = JSON.parse(JSON.stringify(obj)); copyObj.name = 'fiona'; console.log(copyObj.name); // 'fiona' console.log(obj.name); // 'fiona-SUN'
    

    · 方法三:es6之展开Object.assign(拷贝obj的内容到一个新的堆内存,copyObj存储新内存的引用)

    let obj = {name:'fiona-SUN'}; letcopyObj = Object.assign({}, obj); copyObj.name = 'fiona'; console.log(copyObj.name); // 'fiona' console.log(obj.name); // 'fiona-SUN'```
    
    · 方法四:es6之展开运算符(仅用于数组)
    
    
    let arr = [1,2,3]; let copyArr = [...obj]; copyArr[2] = 0; console.log(copyArr[2]); // 0 console.log(arr[2]); // 2```
    

    计算属性设置值

    想要改变计算属性的值,要通过set方法去触发它所依赖的变量,(类似于触发它重新计算,单纯赋予一个新值,在取的时候也是不会被改变的)

    v-for优先于v-if

    事件名推荐使用kebab-case 因为事件绑定,会统一把大写变成小写

    Prop值的改变,不是立即

    如果父组件,传递prop,

    可以监听值改变取调用子组件的方法

    将子组件相关方法的调用放在nextTick里面

    this.$forceUpdate****强制刷新

    如何优化spa应用的首屏加载缓慢的问题

    在配置路由的时候,页面和组件使用懒加载的方式引入,进一步缩小应用程序包的app.bundel体积,在调用某个组件的时候再去调用对应的js文件

    加一个loading图,提升用户体验。

    相关文章

      网友评论

          本文标题:3月总结

          本文链接:https://www.haomeiwen.com/subject/rjsfgltx.html