看vuejs源码,这段代码有点看不懂,请大佬帮忙释义一下,谢谢!
代码在Vue.js v2.5.16源码的第7653-7661行
var startClass = isAppear && appearClass
? appearClass
: enterClass;
var activeClass = isAppear && appearActiveClass
? appearActiveClass
: enterActiveClass;
var toClass = isAppear && appearToClass
? appearToClass
: enterToClass;
这里的isAppear是什么含义?这段三元操作符的代码整体的是实现什么样的功能?
&& 操作符有一个特性,就是前面的如果为true,则返回后面的,前面的为false,则返回前面的,
在console下测试
var isAppear = !context._isMounted || !vnode.isRootInsert;
判断这个实例是否是已经挂载或者是否作为跟节点插入,当两个都为true的时候,isAppear为false,这样后面startClass、activeClass、toClass就都是enter开头的类,控制组件的css过渡。