728x90
머스태치 문법 {{ }}
- vue에서 사용하는 방법이다.
- 이 안에 요소의 이름을 넣는다.
v-text
- tag전체를 바꿔주므로 비어있는 tag로 해야 한다.
<template>
<div>
<h1 v-text="`${username} Nice to meet you.`"></h1>
</div>
</template>
<script>
export default {
data() {
return {
username : "name",
};
};
}
</script>
v-if | v-else-if | v-else
- 조건을 줘서 그 조건에 해당할 때만 나오게 한다.
- v-if ,v-else를 쓰기 위해서는 바로 태그가 이어져야 한다. 즉, 중간에 다른 태그가 있으면 안 된다.
<template>
<div>
<h2 v-if="showName">My name is {{ user.name }}</h2>
<h2 v-else>이름을 보여줄 수 없습니다.</h2>
<h2 v-if="user.age > 20">당신은 성인입니다.</h2>
<h2 v-else-if="user.age > 14 && user.age < 20">당신은 청소년입니다.</h2>
<h2 v-else>당신은 어린이입니다.</h2>
</div>
</template>
<script>
export default {
data() {
return {
user: {
name: "name",
age: 100,
},
showName: true,
};
};
}
<script>
v-if 와 v-show의 차이
- v-show는 조건이 성립하지 않아도 코드가 생성되지만 display= none; 처리가 된다.
- v-if는 조건이 성립하지 않으면 태그도 안 보인다.
<template>
<div>
<h2 v-if="!showName">{{ user.name }} IF</h2>
<h2 v-show="!showName">{{ user.name }} SHOW</h2>
</div>
</template>
<script>
export default {
data() {
return {
user: {
name: "name",
},
showName: true,
};
};
}
<script>
v-for
<template>
<div>
<ul>
<li v-for="(fruit, index) in fruits" :key="index">
{{ index + 1 }}. {{ fruit }}
</li>
</ul>
<ul>
<li v-for="(fruit, index) of fruits" :key="index">
{{ index + 1 }}. {{ fruit }}
</li>
</ul>
<h2 v-for="(value, key, index) in user" :key="key">
{{ index }}. {{ key }} ==> {{ value }}
</h2>
<p v-for="n in 10" :key="n">{{ n }}</p>
</div>
</template>
<script>
data(){
return{
fruits: ["banana", "strawberry", "apple", "melon"],
}
}
</script>
- key : 반복문(v-for)을 줄 때 꼭 넣어야 한다. unique한 값을 넣는다. (중복되지 않는 것)
- {{}} 안에 수식이 하나만 있어야 한다. 수식이 중복 X
- 단, v-if 와 v-for를 함께 쓸 수 없다.
- 아래 코드처럼 하는 방법도 있다.
<template>
<ul>
<li
v-for="(city, index) in cities.filter((c) => c.province === '경상도')"
:key="index"
>
{{ city.name }}
</li>
</ul>
</template>
<script>
export default{
data(){
cities: [
{ name: "서울", province: "경기도" },
{ name: "대전", province: "충청도" },
{ name: "대구", province: "경상도" },
{ name: "부산", province: "경상도" },
{ name: "인천", province: "경기도" },
{ name: "광주", province: "전라도" },
]
}
}
</script>
Method
- object associated function
proxy
- vue의 반응성을 보완하기 위해 vue3에 추가된 js 기능
( )=> { } 화살표 함수의 특징 (arrow function)
- lexical scope : 함수에 선언에 따라 scope가 결정된다.
- 호출에 영향받지 않고 고정된다.
=> 즉 , method를 할때는 일반함수로 써야한다. (arrow function X)
<template>
<div>
<h2>{{ message() }}</h2>
</div>
</template>
<script>
export default{
methods: {
message(){
console("Hi!");
}
}
}
<script>
modifier
- 부가적인 기능 추가
- ex) click.right/left/middle
form
- 어떠한 입력 양식을 받고 서버에 저장
IME (input method editor)
- 자판에 있는 글쇠보다 수가 많은 문자를 조합하여 입력해주는 시스템
@click
: v-on:click 의 줄임말
computed 속성을 이용해서 합쳐서 사용
computed
- 값이 바뀌지 않은 이상 변화하지 않는다.
- 값이 캐시되기 때문에 값이 실질적으로 영향이 있을 때만 변화된다.
method
- 다른 값이 바껴도 변화된다.
https://sesac.seoul.kr/course/active/detail.do
꿈꾸는 개발자 데뷔코스, 새싹
‘새싹’은 싹을 틔우기 위해 더 높은 곳을 향해 도전하고 한 단계 성장하여 기업과의 연결, 새로움을 추구하는 인재들의 공간입니다.
sesac.seoul.kr
728x90
반응형
'Front-end > Vue.js' 카테고리의 다른 글
1번째 vue3 공부 정리 [Sessac 바닐라 Javascript + Vue.js 과정] (0) | 2022.02.13 |
---|