vue

 

 

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/marked/0.4.0/marked.min.js"></script>
        <style>
            /* 나타나고 있을 때와 사라질 때는 0.5초 */
            .v-enter-active, .v-leave-active{
                transition: 0.5s;
            }


            /* 나타나기 전의 상태와 사라진 상태는 투명도가 0, 밑으로 50 이동 */
            .v-enter, .v-leave-to{
                opacity: 0;
                /* transform: translateY(50px); */
                transform: translateX(50px);
            }

  
        </style>
	</head>	
	<body>
	
		<div id="app">
            <label>
                <input type="checkbox" v-model="isOK">변경
            </label>
            <transition>
                <p v-if="isOK">표시/비표시 애니메이션~~</p>
            </transition>

            <hr>

            <transition-group>
                <li v-for="item in dataArray" v-bind:key="item">{{item}}</li>
            </transition-group>
            <label><input v-model="addItem" placeholder="추가할 리스트"></label>
            <button v-on:click="addList">추가</button>
            <button v-on:click="removeLast">맨뒤 1개 삭제</button>
		</div>

		<script>
			new Vue({
				el: '#app',
				data: {
                    dataArray:['벚꽃','산수유','진달래','철죽'],
                    addItem:'',
                    isOK:true
				},			
                methods: {
                    addList(){
                        this.dataArray.push(this.addItem);
                        this.addItem="";
                    },
                    removeLast(){
                        const lastIdx=this.dataArray.length-1;
                        this.dataArray.splice(lastIdx,1);
                    }
                },
			
			})
		</script>
	</body>
</html>

 

 

about author

PHRASE

Level 60  라이트

나는 아주 하찮은 일에서 느껴지는 기쁨을 좋아한다. 이것은 어려운 일에 닥쳤을 때 나를 지탱해 주는 원천과도 같은 존재이다. -오스카 와일드 [도리앙 그레이의 인물묘사]

댓글 ( 4)

댓글 남기기

작성












vue 목록    more