Web前端培训之Vue学习心得
Vue是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue也完全能够为复杂的单页应用提供驱动。Vue+webpack也成了很多开发项目的标配。在学习的过程中也碰到了很多坑,在这里分享下自己学习的一些心得。
Vue是组件化的,每一个部分都可以做成一个组件,但是这里就出现了一个问题,就是组件之间如果涉及到传值问题,就会比较麻烦。如果涉及到兄弟组件的传值,我们可以给Vue实例上挂载一个$bus属性
之后可以通过this.$bus.$emit来推送数据,this.$bus.$on来接收数据。
Vue本身并不鼓励使用DOM操作(并不是不能),如果你希望获取到节点,那么可以通过ref属性做到。
然后可以通过this.$refs访问到所有具有ref属性的节点。
如果你希望获取input的value值,你还可以通过v-model属性做到。V-model实际上实现了数据的双向绑定。把Model绑定到View,当我们用JavaScript代码更新Model时,View就会自动更新。如果用户更新了View,Model的数据也自动被更新了,这种情况就是双向绑定。什么情况下用户可以更新View呢?填写表单就是一个最直接的例子。当用户填写表单时,View的状态就被更新了,如果此时MVVM框架可以自动更新Model的状态,那就相当于我们把Model和View做了双向绑定。Vue是采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调来实现数据的双向绑定的。
Vue本身提供了特有的计算属性computed。经常有人会分不清computed和watch。关于computed和watch的比较,computed是计算属性,会被混入到Vue实例中,计算属性具有依赖性,如果依赖的那个数值没有发生改变,那么就会执行一次,除非依赖发生改变,它才会重新开始计算。watch是观察属性,Vue将会在实例化的时候调用watch,遍历watch对面的每一个属性,当其中属性发生变化时,都会触发watch。以上两种都不能使用箭头函数来定义,因为箭头函数是绑定了父级作用域的上下文,此时的this并没有指向Vue实例。
另外一个容易弄混的是指令v-if和v-show。两者的区别是,v-if和v-show都能够控制组件的显示和隐藏,区别在于v-show为false的时候页面加载的时候就会把组件加载进来,只是把组件的display属性设置为none而已,然后v-if为false的,组件是不会加载进来的,只有当值为true的时候才会把组件加载进来,所以实现按需加载就可以使用v-if,只是控制组件的显示隐藏就可以使用v-show。
猜你喜欢LIKE
相关推荐HOT
更多>>如何学编程基础入门,怎么选择适合自己的编程语言?
如何学编程基础入门?零基础想要学习编程,第一步先决定要学哪一门语言,了解它们的特点和应用的领域;第二步确定学习方法,自学还要结合一些辅助...详情>>
2023-03-06 14:57:00成都java培训多少钱?选择靠谱的培训机构很重要
成都java人才需求量大,薪资水平高,发展前景良好,很多人希望能提升自己的专业技能,找到一份好工作,培训可以说是系统、快速地提高自身技术水...详情>>
2023-02-13 17:41:00参加Python培训班零基础可以学会吗?
随着互联网、云计算、大数据的飞速发展,在可以预见的未来,中国的人工智能产业将在诸多领域迎来新的发展机遇。也有越来越多的人选择入行人工...详情>>
2022-02-11 15:12:00web前端培训班的费用是多少?学习需要多久?
随着市场上新型开发场景的不断增多,企业对web前端开发技术的要求也在不断的提升,对前端开发工程师的需求量在不断的增多,市场上有一些小伙...详情>>
2022-02-11 15:11:00热门推荐
零基础学习java多久可以学会?
沸成都h5培训课程去哪比较好?如何选择?
热零基础小白入门h5如何学习?
热计算机前端和后端区别,哪个好?
新如何成为编程程序员,应该具备哪些素质?
如何学编程基础入门,怎么选择适合自己的编程语言?
python一般用来做什么?可以满足不同的应用场合需要
嵌入式开发要学哪些课程?要了解对应的学习要求
web前端培训多久?了解具体的培训时间
成都java培训多少钱?选择靠谱的培训机构很重要
java架构师学习路线是什么?选择合适的学习路线很重要
学程序员需要什么条件?要掌握哪些方面的基础理论知识
程序员培训一般要多少钱?要考虑相应的综合性价比
学编程从哪方面入手?能有效的提升学习效率