프론트엔드/뷰(Vue)

Vue.js 기초셋팅

xhakxh135 2023. 9. 1. 14:32
반응형
SMALL

1. Vue 사용시 cdn 스크립트 추가

<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

 

2.react와 마찬가지로 처음에 id="root"로 큰 div하나를 만들어주고 그 안에 마크업을 해준다.

<div id= "root">
	<div></div>
    <button>조아!</button>
</div>

<script>
	const app = new Vue({
    	el : #root, //Vue로 #data를 통제하겠다.
        data:{
        	// 통제하고자 하는 것을 데이터 선언 
        },
        methods:{
        	onClickButton(){
            // 이벤트 추가예정
            },
        }
    }) 
</script>

여기서 변수는 언제든 바꿔도 상관이 없지만 안에 들어가는 el, data, methods는 외워둘 것!

 

3.이후에 실행하고자하는 코드들을 추가해준다(button을 누르면 '눌렸음' 이라는 텍스트가 button 대신 나오게끔)

<div id= "root">
	<div v-if="liked">눌렸음</div> 
    <button v-else v-on:click="onClickButton()">조아!</button>
</div>

<script>
	const app = new Vue({
    	el : #root, //Vue로 #data를 통제하겠다.
        data:{
        	liked:false; // div에 선언한 liked를 false로 초기설정
        },
        methods:{
        	onClickButton(){
            this.liked = true ; //(data.liked = true 와 같음, 클릭이벤트가 생기면 liked는 true를 반환)
            },
        },
    }) 
</script>

여기서 html 앨리먼트 태그에 붙은 v-if, v-else-if는 앞에 v가 붙음으로서 vue가 통제하겠다는 뜻.

onClick 이런것들도 앞에 v를 붙혀주면됨.

ex) onClick -> v-on:click="onClickButton()"

 

 v-if, v-else-if 같은경우 형제이기 때문에 중간에 다른 태그나 조건문이 들어오면 에러가 발생함

<div id= "root">
	<div v-if="liked">눌렸음</div> 
    <div>에러의 원인</div>
    <button v-else v-on:click="onClickButton()">조아!</button>
</div>

예시로 이러면 작동 안됨

반응형
LIST