近期工作以来对vue的新认知及使用心得(一)

本篇博客主要记录本人对Vue使用很顺畅的几个方面

一、深入浅出响应式原理

在这块你要去理解这几个词语,数据劫持(数据代理),依赖收集 ,发布订阅模式。

vue 让我感触最深的是 数据驱动带来的魅力,那种牵一发而动全身,一变则万变的那种妙不可言!

在这里想问一问小伙伴在vue里那些选项中的数据可以直接被当前的 this 去调用呢?

首先60%的人会毫不犹豫的说 data 里定义的数据。嗯一看就是刚接触vue不深的小伙伴

其次就是会有一些经验的小伙伴会说computed中计算好了的数据(在这里一定有一个常见的坑,关于你对computed和watch这两个选项的认知和区别,这一点我会后面带小伙伴脱坑,先别急往下看)

还有就是一些老司机了父组件中传来的props中的数据(这里面也涉及了一个常用的考题就是父子组件如何传值,那么慢慢往深的地方开始拓展vue 传值又有哪几种方式呢?)

最后一种回答应该大家也能想到就是vuex中保存到state中的值(哈哈哈vuex你值得拥有强烈建议)

二、路由(vue-router)

在这里直接聊路由进阶了哈!!!(关于路由的基础,重定向、懒加载、路由元信息等这些我曾经都写过相关博客,自行翻阅,如若未找到请私信我因为会涉及公司机密)

这块只想谈以下几点(也是工作中会用到的频率最高的几点):

  • 路由的全局守卫
const router = new VueRouter({ ... })

router.beforeEach((to, from, next) => {
  // ...
})
  • 路由的后置钩子
router.afterEach((to, from) => {
  // ...
})
  • 路由组件内的守卫
beforeRouteEnter (to, from, next) {
  next(vm => {
    // 通过 `vm` 访问组件实例
  })
}

使用详情请参考官网api文档

三、Vuex(数据的状态管理库)

(在这儿不免笑了起来当初就是因为对vuex的深刻理解才拿到了这份offer,总之机会是留给有准备的人,然后你才能笑着对别人说自己运气很好)

插入一段代码让小伙伴看的更加清晰哈,可直接复制粘贴在实际的开发过程中去运用,拿走不谢哈

  • 在对应的模块文件中写入对应的state、mutation、getters,然后再这Moudle中去注册该模块即可
const app = {
    state: {  //存放数据
        list: []
    },
    mutations: {  // 改变数据(通常拿到后台数据然后通过this.$commit()存入state中)
        changeList (state,data) {
            state.list = data
        }
    },
    getters: {  // 通常与computed和辅助函数结合,下面会有实例
        getList: state=> state.list
    }
}

  

  • 记得显式添加状态到vuex中,this.$store.commit()
  • 取vuex中的数据的时候要用到 this.$store.state 这个方法
  • 经常用computed这个属性去拿getters的数据 (...mapGetters这个辅助函数)
computed: {
  ...mapGetters {
            list: ‘getList‘
    }
}

另外actions我没接触过,可能项目的业务需求没达到,在这里就不做过多的解释了。下篇博客再接着叙述!

附语:最近很多小伙伴一直鼓励我说要坚持!我最近状态确实不太好,多谢大家的关心,我会挺下来的,大家一起加油!!!

晚安

原文地址:https://www.cnblogs.com/sweet-ice/p/11192508.html

时间: 2024-10-12 23:57:08

近期工作以来对vue的新认知及使用心得(一)的相关文章

【我拼搏的2016】python学习的新认知和培训期间

2016年12月16日:[我拼搏的2016]python学习的新认知和培训期间 一:自我介绍 我叫陈浩,我于2016年10月报名参加了由alex老师主讲的python培训班,希望能够通过学习后实现python安全和运维的学习计划. 二:对python新的认识 经过2个月的努力之后,我对python领域有了新的认知: 1.从以前不懂编程的小菜鸟到现在能看懂部分代码了,并完美的解释起来不费什么力气了. 2.认识了很多志同道合的python伙伴. 3.目前还在第三模块学习中,alex老师讲课风格比较生

近期工作的总结

近期工作方面是需要做个用户注册的页面,用户注册的页面这块已经好久没有做了,所以编写起来也是野路子,想到是什么就写什么,具体的后台代码写了4个小时左右,基本上这个页面就出来了. 截图: 这块很简单的运用到My97DatePicker 编辑了日历控件, 省份.地级市.县城这块三级联动用的js, 下面附上源码: <SCRIPT lang = JavaScript> var s=["s1","s2","s3"]; var opt0 = [&q

近期工作

最近做了一些基于DFA和NFA的对gzip压缩流量的快速扫描算法的工作,截止昨天终于完成,在此记录. 背景: 1.目前HTTP流量多是压缩流量,HTTP压缩是指: Web服务器和浏览器之间压缩传输的"文本内容"的方法. HTTP采用通用的压缩算法,比如gzip来压缩HTML,Javascript, CSS文件. 能大大减少网络传输的数据量,提高了用户显示网页的速度.当然,同时会增加一点点服务器的开销. 2.对于压缩流量的扫描,典型的应用场景是杀毒软件.扫描本身可以简化成一个字符串匹配的

随笔-近期工作学习小结

一晃到复活节了,前段时间要换工作时还想复活节前能不能工作安定下来呢.现在安定算是安定吧,仍然在原公司没动.之前找工作时拿到一家offer了,但总感觉一阵恐慌,要离开舒适区去迎接新的挑战,而且整体薪酬还略低于当前.就在接到对方HR电话后打算写离职报告时,人资通知调了薪资,简直抓到一根救命稻草,终于可以说服自已不用折腾了,赶紧拒掉offer,另一家面试也懒得去了,再在老地方待个一年半载再说吧. 工作还是老样子,还是那些项目还是那些人,还是需要加很多班,和以前没任何变化,先这样做着看吧. 近期在前端优

近期工作总结

最近工作主要用到的ThinkPHP框架和React+redux移动端开发. 其中ThinkPHP主要用于PC端的商城.管理员后台和商户端,个人感觉ThinkPHP前端方面写起来没什么难度,写HTML.CSS.JS,处理一下后端给的数据就可以了.但是感觉代码冗余还是挺严重的,而且为了刷新数据需要刷新整个页面,也可能使我用的姿势不对?不过确实还有很多要学的.整个业务逻辑需要慢慢理解. 近几天开始了React移动端开发,之前是完全没有接触过移动端开发,React和Redux也没有实战过.不过接触之后感

对Vue.js的认知

一.什么是MVVM? MVVM是Model-View-ViewModel的缩写.MVVM是一种设计思想.Model 层代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑:View 代表UI 组件,它负责将数据模型转化成UI 展现出来,ViewModel 是一个同步View 和 Model的对象. 在MVVM架构下,View 和 Model 之间并没有直接的联系,而是通过ViewModel进行交互,Model 和 ViewModel 之间的交互是双向的, 因此View 数据的变化会同步

vue 学习新笔记

1.Vue.set(target, key, value) target: 只要修改的数组或者对象 key: 要修改的键名或者位置 value: 新值 比如:有一个数组:items: ["111", "222", "333"] 如果通过:app.items[2] = '444'去修改的话,页面上是不会更新的,如果要更新的话,就要通过Vue.set(app.items, 1, "555");或者app.$set(app.item

跑步与读书都废掉了...工作目前也在换新的.

最近过的比较糟糕,先说跑步:5.1秦皇岛马拉松只跑了不到5公里 然后左小腿韧带拉伤,不能弯曲. 读书:没有读过一本书最近 工作:辞了,再换新的目前来看比较困难. 最近读书看到一句话:相信我 你并不孤单. 反转剧情: 昨天跑了5公里,小腿还好,只是疼 今天就好了.看来跑步以后可以慢慢加上来. 书再看兄弟给推荐的:与时间做朋友. 工作连续3个面试:好有希望. 生活真是有趣,一定坚持到底.不懈怠,你永远不知道下一秒会怎样.

近期工作摘要

一晃又是半年左右没有更新记录了,这段时间经历了项目全球上线并获得苹果 Apple Store 的各个国家首页推荐,这个成绩我们很开心满足,是对我们团队长期坚持和付出的肯定,赚钱多少又是另一回事了.之后由于各种原因,团队的各个成员有了不同的计划,大部分选择了深圳,而我选择留在北京,变成了孤军奋战,还是有些落单和孤寂的. 1月开始休整了端时间,再抽空开始完成我的个人兴趣小项目,3D软件渲染器 YwSoftRenderer,其实主要过程还是“照抄”Muli3D,边摘抄代码,边理解咀嚼,然后按照我的理解