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

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.

主站蜘蛛池模板: 正安县| 双桥区| 长寿区| 都匀市| 文山县| 石阡县| 汝城县| 钦州市| 刚察县| 大邑县| 宜宾县| 兰溪市| 辽宁省| 邛崃市| 怀宁县| 石景山区| 长宁县| 洛隆县| 年辖:市辖区| 中江县| 泽普县| 东台市| 高淳县| 博野县| 苍山县| 汝阳县| 灵山县| 舟山市| 海宁市| 湾仔区| 拉萨市| 定陶县| 民乐县| 庆安县| 浦北县| 阳原县| 扶绥县| 朝阳区| 全椒县| 界首市| 余姚市|