Vue 2.0学习笔记:Vue的render函数
前几天想学学Vue中怎么编写可复用的组件,提到要对Vue的render
函数有所了解。可仔细一想,对于Vue的render
函数自己只是看了官方的一些介绍,并未深入一点去了解这方面的知识。为了更好的学习后续的知识,又折回来了解Vue中的render
函数,这一切主要都是为了后续能更好的学习Vue的知识。
前几天想学学Vue中怎么编写可复用的组件,提到要对Vue的render
函数有所了解。可仔细一想,对于Vue的render
函数自己只是看了官方的一些介绍,并未深入一点去了解这方面的知识。为了更好的学习后续的知识,又折回来了解Vue中的render
函数,这一切主要都是为了后续能更好的学习Vue的知识。
许多现代JavaScript框架和库的核心概念是能够将数据和UI封装在模块化、可重用的组件中。这对于开发人员可以在开发整个应用程序时避免使用编写大量重复的代码。虽然这样做非常有用,但也涉及到组件之间的数据通讯。在Vue中同样有这样的概念存在。通过前面一段时间的学习,Vue组件数据通讯常常会有父子组件,兄弟组件之间的数据通讯。也就是说在Vue中组件通讯有一定的原则。
在项目开发的时候,常会碰到这样的一种现象:有两个组件非常相似,比如较为熟悉的Modal
、Tooltip
和Popover
,它们都具有同样的基本函数,而且它们之前也有足够的不同。很多时候,就让人很难做出选择:是把它们拆会成多个不同的组件呢?还是只使用一个组件,创建足够的属性来改变不同的情况。在Vue中,对于这样的场景,官方提供了一种叫混入(mixins
)的特性。使用mixins
允许你封装一块在应用的其他组件中都可以使用的函数。如果被正确的使用,他们不会改变函数作用域外部的任何东西,所以多次执行,只要是同样的输入,总是能得到一样的值。既然Vue的mixins
这么优秀,那应该怎么使用呢?今天我们的目的就是学习如何在Vue的项目中使用mixins
。
Vue插件是向应用程序添加全局特性的一种强大而又简单的方法。它有多种用途,从分发应用程序范围的组件到向应用程序添加路由和不可变数据存储等附加功能。从概念上讲,Vue插件是非常简单。它实际上只是一个带有install
函数的对象,它接受两个参数:全局的Vue
对象和一个包含用户定义选项的对象。然而,一个像这样简单的Vue插件仍然可以得到相当大的效果。
动效在Web中一直是一个有争议的问题。动效做得好有助于在你的Web程序上锦上添花,甚至是留住你的用户,也可以具有较好的用户体验;反之,如果动效运用的不好,会给用户带来一种反感,让用户迅速地离开你的应用。怎么提供更友好的动效,并不是今天我们要讨论的重点,我们要讨论的是:**在Vue应用程序中如何添加动效?**在Vue中,提供了多种方法来给你的运用程序添加动效,比如CSS的transition
和animation
动效,以及在Vue的生命周期的钩子函数中操作DOM。甚至你还要以使用第三方动画库,比如GSAP或Velocity.js来制作动效。
上一节我们学习了Vue 2.0中的<transition>
实现元素从状态A
到状态B
的过渡效果。对于元素过渡的效果是通过CSS的transition
来完成,具体什么时候执行是由Vue来控制的。而transition
的效果毕竟有所限制,对于一些复杂的动效,还是需要通过别的方式来完成。在Vue中除了transition
之外还可以完成animation
的效果。也就是可以将CSS的animation
运用到Vue中来,实现一些动画效果。今天这篇文章我们就来学习如何在Vue运用CSS的animation
。
slot
是Vue组件的一个重要机制,因为它使得完全解耦的组件之间可以灵活地被组合。在《Vue组件内容分发》和《Vue的作用域插槽》文章中我们深入的学习了slot
怎么在Vue中的使用,但在Vue 3.0版本为slot
引入了一套全新的模版语法。为了更好的从2.x
过渡到3.0
,Vue的v2.6
版本引入了新的slot
语法,即 v-slot
。接下来我们来学习新指令v-slot
的使用。
在刚接触Vue的时候,就知道 实例 在Vue中是一个重要的概念,在学习之后也整理了一篇有关于Vue实例和生命周期的学习笔记。经过一段时间的学习之后,重新再温习了一遍有关于Vue的实例,整理一下,提供给有需要的同学作为参考资料。
在Vue中,Vue模板对应的就是Vue中的View(视图)部分,也是Vue重中之一,而在Vue中要了解Vue模板我们就需要从两个方面来着手,其一是Vue的模板语法,其二就是模板渲染。Vue模板语法是Vue中常用的技术之一,除非在应用程序中不用渲染视图或者你的程序直接采用的是渲染函数(render()
)。相较而言,模板语法较简单一点,但对于模板的渲染(模板编译)就会更为复杂一些,如果需要了解模板渲染就需要对Vue的渲染函数,响应式原理之类的要有所了解。
Vue使用的模板语言是HTML的超集。在Vue的模板中除了使用插值({{}}
)之外还可以使用指令。在上一节中,我们主要学习和探讨了Vue模板相关的知识,在这一节中,我们将一起来了解Vue中的指令。在Vue中,指令基本上类似于添加到模板中的HTML属性。它们都是以**v-
**开头,表示这是一个Vue特殊属性。Vue中的指令主要分为内嵌的指令和自定义指令。另外有一些指令还带有相应的修饰符。接下来我们主要围绕着这些点来展开,咱们先从内嵌的Vue指令开始。