1.transition結(jié)合animate.css實(shí)現(xiàn)過渡
步驟:
1.引入animate.css文件
2.在想要進(jìn)行動(dòng)畫的元素上使用 <transition>組件包住
transition:
在transition 這個(gè)標(biāo)簽中有兩個(gè)屬性:
(1) enter-active-class:控制動(dòng)畫的進(jìn)入
(2) leave-active-class:控制動(dòng)畫的離開
上面兩個(gè)屬性中的值寫法注意點(diǎn):
(1)兩個(gè)屬性中均要編寫 animate.css中定義好的一個(gè)類 animated
(2) 在兩個(gè)屬性中分別取animate.css中控制的動(dòng)畫樣式(按需獲取)
2.transition結(jié)合鉤子函數(shù)實(shí)現(xiàn)過渡
(1) 過渡動(dòng)畫進(jìn)入
before-enter 過渡動(dòng)畫進(jìn)入之前,一般在這個(gè)方法中定義目標(biāo)元素的初始位置
enter 過渡動(dòng)畫進(jìn)入中,在這個(gè)方法中定義目標(biāo)元素的結(jié)束位置
after-enter 過渡動(dòng)畫結(jié)束后枢舶,通常在這個(gè)方法里面重置初始值
enter-cancelled 取消過渡動(dòng)畫時(shí)被調(diào)用
(2) 過渡動(dòng)畫離開
before-leave 動(dòng)畫離開之前觸發(fā)
leave 過渡動(dòng)畫進(jìn)入中觸發(fā)
after-leave 過渡動(dòng)畫離開結(jié)束后
leave-cancelled 取消過渡動(dòng)畫時(shí)被調(diào)用
注意:當(dāng)只用 JavaScript 過渡的時(shí)候越平,在 enter 和 leave 中必須使用 done 進(jìn)行回調(diào)互墓。否則琴庵,它們將被同步調(diào)用伤溉,過渡會(huì)立即完成辫秧。
3. 組件
三種創(chuàng)建方式
(1)使用Vue.extend()和Vue.component()兩個(gè)方法創(chuàng)建
Vue.extend()函數(shù)會(huì)返回一個(gè)組件的構(gòu)造器束倍,它里面包含一個(gè)參數(shù),它是一個(gè)對(duì)象,里面是一些配置項(xiàng)
Vue.component()函數(shù)會(huì)利用vue.extend()返回的構(gòu)造器創(chuàng)建一個(gè)組件的實(shí)例绪妹,它有兩個(gè)參數(shù)甥桂,一個(gè)是組件的名字,另一個(gè)是組件的構(gòu)造器
(2) 直接使用vue.component()方法創(chuàng)建,實(shí)際上還是調(diào)用了vue.extend()這個(gè)方法
(3) 通過指定模板創(chuàng)建邮旷,定義模板需在vue管轄范圍之外
注意:
- 模板template中只能有一個(gè)根節(jié)點(diǎn)
- 組件的名字如果采用駝峰命名的話黄选,使用的時(shí)候就要用連字符“-”,例如組件名叫indexA婶肩,使用的時(shí)候就要寫成index-a
4. 父子組件之間傳值
(1)父組件可以使用 props 把數(shù)據(jù)傳給子組件办陷。
(2)子組件可以使用 emit 觸發(fā)父組件的自定義事件。 vm.emit( event, arg ) //觸發(fā)當(dāng)前實(shí)例上的事件
vm.$on( event, fn );//監(jiān)聽event事件后運(yùn)行 fn律歼;