์ด๋ฒคํธ ํธ๋ค๋ฌ
๋ฒํผ์ ํด๋ฆญํ๋ฉด ์ฝ๋ ์คํํ๊ธฐ
<div>
<h4>{{ products[0] }}</h4>
<P>50 ๋ง์</P>
<button>ํ์๋งค๋ฌผ์ ๊ณ </button>
</div>
์ด๋ฒคํธ ํธ๋ค๋ฌ๋ฅผ ์ถ๊ฐํ๊ธฐ ์ํ ๋ฒํผ์ ์ถ๊ฐํ๋ค.
@click ๋๋ v-on
<script>
export default {
name: "App",
data() {
return {
์ ๊ณ ์: 0,
๋ฉ๋ด๋ค: ["Home", "Shop", "About"],
products: ["์ญ์ผ๋์๋ฃธ", "์ฒํธ๋์๋ฃธ", "๋งํฌ๊ตฌ์๋ฃธ"],
};
},
components: {},
};
</script>
์ ๊ณ ์๋ data()๋ก ๊ด๋ฆฌํ๋ค.
ํด๋ฆญ์ด๋ฒคํธ์๋ ์ด๋ ๊ฒ
<button @click="์ ๊ณ ์++">ํ์๋งค๋ฌผ์ ๊ณ </button>
<span>์ ๊ณ ์ : {{ ์ ๊ณ ์ }}</span>
๋ฒํผ์ ํด๋ฆญํ๋ฉด ์ ๊ณ ์๊ฐ ์ฆ๊ฐํ๋ค.
๋ง์ฝ์ ์ฝ๋๊ฐ ๊ธธ์ด์ง๋ฉด ๋ณด๊ธฐ ํ๋ค๊ธฐ ๋๋ฌธ์ ํจ์๋ก ๋ง๋ค์ด์ ๊ด๋ฆฌํ ์ ์๋ค.
ํจ์๋ง๋ค ๋ ์ฃผ์ ์ฌํญ
<script>
export default {
name: "App",
data() {
return {
์ ๊ณ ์: 0,
๋ฉ๋ด๋ค: ["Home", "Shop", "About"],
products: ["์ญ์ผ๋์๋ฃธ", "์ฒํธ๋์๋ฃธ", "๋งํฌ๊ตฌ์๋ฃธ"],
};
},
methods: {
increase() {
์ ๊ณ ์++;
},
},
components: {},
};
</script>
<button @click="increase">ํ์๋งค๋ฌผ์ ๊ณ </button>
this๋ฅผ ๋ถ์ฌ์ผ ์๋ฌ๊ฐ ์
methods: {
increase() {
this.์ ๊ณ ์++;
},
},
๊ทธ๋ฆฌ๊ณ ๊ฐ ํญ๋ชฉ๋น ๋ฒํผ์ ๋ง๋ค๊ณ
๊ฐ ํญ๋ชฉ ๋ฒํผ์ ํด๋ฆญํ๋ฉด ๊ทธ ํญ๋ชฉ์ ์ ๊ณ ์๋ง ๋์ด๋๊ฒํ๊ธฐ
<template>
<img alt="Vue logo" src="./assets/logo.png" />
<div class="menu">
<a v-for="(a, i) in ๋ฉ๋ด๋ค" :key="i">{{ a }}</a>
</div>
<div>
<h4>{{ products[0] }}</h4>
<P>50 ๋ง์</P>
<button @click="increase(0)">ํ์๋งค๋ฌผ์ ๊ณ </button>
<span>์ ๊ณ ์ : {{ ์ ๊ณ ์[0] }}</span>
</div>
<div>
<h4>{{ products[1] }}</h4>
<button @click="increase(1)">ํ์๋งค๋ฌผ์ ๊ณ </button>
<span>์ ๊ณ ์ : {{ ์ ๊ณ ์[1] }}</span>
<P>70 ๋ง์</P>
</div>
<div>
<h4>{{ products[2] }}</h4>
<button @click="increase(2)">ํ์๋งค๋ฌผ์ ๊ณ </button>
<span>์ ๊ณ ์ : {{ ์ ๊ณ ์[2] }}</span>
<P>80 ๋ง์</P>
</div>
</template>
methods: {
increase(i) {
this.์ ๊ณ ์[i]++;
},
},
์ด๋ฏธ์ง ๊ฐ์ ธ์ค๊ธฐ
assets ํด๋์ ์ด๋ฏธ์ง๋ค ์ ์ฅํ๊ธฐ
<div>
<img src="./assets/room0.jpg" alt="" />
<h4>{{ products[0] }}</h4>
<P>50 ๋ง์</P>
<button @click="increase(0)">ํ์๋งค๋ฌผ์ ๊ณ </button>
<span>์ ๊ณ ์ : {{ ์ ๊ณ ์[0] }}</span>
</div>
์ด๋ฏธ์ง๊ฐ ํฌ๊ธฐ ๋๋ฌธ์ ์ฌ์ด์ฆ๋ฅผ ์กฐ์ ํ ๊ฑฐ์
<img src="./assets/room0.jpg" class="room-img" />
room-img๋ผ๋ ํด๋์ค๋ฅผ ์ค๋ค
<style>
#app {
font-family: Avenir, Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
}
.menu {
background: darkslateblue;
padding: 15px;
border-radius: 5px;
}
.menu a {
color: white;
padding: 10px;
}
.room-img {
width: 100%;
margin-top: 40px;
}
</style>