官术网_书友最值得收藏!

Animating the card list

There are three missing animations for our hand--when a card is either added or removed from the player hand, and when it is moved. When the turn begins, the player will draw a card. It means that we will add a card to the hand cards list, and it will slide from the right into the hand. When a card is played, we want it to go up and grow bigger.

To animate a list of elements, we will need another special component--<transition-group>. It animates the children when they are added, removed, and moved. In a template, it looks like this:

<transition-group>
<p v-for="item of items" />
</transition-group>

Unlike the <transition> element, the transition group will appear in the DOM as a <span> element by default. You can change the HTML element with the tag prop:

<transition-group tag="ul">
<li v-for="item of items" />
</transition-group>

In the template of our hand component, enclose the card components with a transition group, specify the name of the transition that we will call "card", and add the "cards" CSS class:

<transition-group name="card" tag="p" class="cards">
<card v-for="card of cards" :def="card.def" @play="handlePlay(card) />
</transition-group>

Before we can continue, there is one important thing missing--the children of the transition group must be identified by a unique key.

主站蜘蛛池模板: 淮阳县| 郸城县| 安化县| 广东省| 长春市| 丹东市| 长阳| 习水县| 东安县| 尉犁县| 沂水县| 四子王旗| 湟源县| 白玉县| 香港 | 靖州| 扶风县| 连城县| 伊宁市| 隆林| 哈巴河县| 万载县| 揭东县| 页游| 海伦市| 沂源县| 奉节县| 长寿区| 清苑县| 含山县| 石首市| 十堰市| 盱眙县| 将乐县| 湖口县| 六安市| 东宁县| 嘉荫县| 清原| 乌拉特中旗| 体育|