[SI에서 살아남기] 내맘대로 예시와 함께 공부하는 Vue.js [1] (export ,data,methods,computed,watch)
Example)
// A.js
<script>
export default{}
</script>
// main.vue
<script>
import A from 'A';
</script>
export 내에 있는 데이터를 import 하여 사용 할 수 있음.
Example)
//A.js
<script>
export default{
data(){
return{
abc: "wow",
isAbc: "true"
}
}
</script>
// main.vue
<template>
<div v-if="isAbc">
{{abc}}
</div>
</template>
<script>
import A from 'A'
</script>
실행 결과
wow
A.js => data()를 설정함. 변수 abc,isAbc
main.vue =>
{{abc}} = A.js에서 data()내에 있는 abc 값을 dom객체에 전달한다.
v-if = if문처럼 isAbc가 true일 때만 실행 (예제는 실행 됨.)
※ data()에 Key들은 v-if,{{},v-model 등의 방식으로 사용 가능하다. 하지만 저는 model을 모릅니다.. Soorrrryyy
※ data function(){return} 도 가능하고 data()=>{return}도 가능하지만 화살표는 사용하는걸 this 방식을 사용 할 수 없ㄱ기때문에 사용하지 않는다.(제가 적었던 방식은 ES6 문법에서 function을 생략해도 인식해준다.)
//A.js
<script>
export default{
data(){
return{
abc: "wow",
isAbc: "true"
},
methods:{
changeAbc(){
this.isAbc="false";
}
}
}
</script>
// main.vue
<template>
<button v-on:click="changAbc">버튼</button>
<div v-if="isabc">
{{abc}}
</div>
</template>
<script>
import A from 'A'
</script>
실행 결과
[버튼] => 클릭시 <div></div> 사라짐
wow
A.js => methods에 원하는 이름의 메서드 선언
main.vue => methods를 버튼 v-on:click에서 사용, 버튼 클릭시 메서드 실행
※버튼 내에 v-on:click 이외의 이벤트들은 vue.js Api 참조 하세욤 v-on Api 보기
//A.js
<script>
export default{
data(){
return{
abc: "wow",
isAbc: "true"
},
methods:{
changeAbc(){
this.isAbc="false";
}
},
computed:{
getAbc(){
if(this.abc==="wow"){
return "LoL";
}
}
}
}
</script>
// main.vue
<template>
<button v-on:click="changAbc">버튼</button>
<div v-if="isabc">
{{abc}}
{{getAbc}}
</div>
</template>
<script>
import A from 'A';
</script>
실행 결과
[버튼] => 클릭시 <div></div> 사라짐
wow
LoL
A.js => computed에 원하는 이름의 메서드 선언
main.vue => {{getAbc}}를 사용하여 computed 의 getAbc()의 리턴 값을 가져옴.
예를 들어 Data.now()라는 메서드를 쓸 경우 명확히 차이를 알 수 있다.
Data.now()가 사용된 method와 computed의 변수를 태그 내에 반복적으로 사용 할 경우
method는 값이 계속 바뀌지만 computed는 처음에 실행 했던 값만 가져온다.
즉) 같은 페이지 내에서 같은 연산을 여러번 해야 한다면 computed 사용을 권장한다.
본 글은 다소 주관적인 생각들을 포함하고 있어, 잘못된 정보를 제공할 수도 있습니다. 부족한 점이 있으면 댓글 남겨주세요. 추가 및 수정 하도록 하겠습니다. 감사합니다.
[Vue.js] 2. 컴포넌트(props,template)에 대한 이해와 예제 (0) | 2020.07.15 |
---|---|
[Vue.js] 1. 디렉티브 (v-bind,v-on,v-if,v-for) 에 대한 이해와 예제 (0) | 2020.07.15 |
[SI에서 살아남기] ElementUI+Vue에 대한 설명과 이해 el-tree [2] (0) | 2020.05.13 |
[SI에서 살아남기] ElementUI+Vue에 대한 설명과 이해 el-button [1] (1) | 2020.05.13 |
[SI에서 살아남기] Props, v-model 에 대한 이해와 예시 Vue.js [2] (0) | 2020.05.12 |
댓글 영역