
[Vue.js] Vue.js 시작하기 - 1 [ 선언적 렌더링 ]
리트리버J
·2020. 12. 27. 00:02
728x90
선언적 렌더링
1. Vue.js 스크립트를 추가해준다.
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
2. <script>태그 내부에 new Vue를 통해 Vue 인스턴스를 생성.
el : element의 약자
#app을 통해 id가 app인 div태그를 통제한다.
data : Vue 인스턴스에서 사용되는 데이터.
json방식의 key : value 형태로 들어간다.
{{ }} : 머스태쉬(mustache)
<body>태그 내부에 사용되며 data의 key를 입력해주면 출력된다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">
<title>Document</title>
</head>
<body>
<div id="app">
{{ message }}
</div>
<script>
var app = new Vue({
el: '#app',
data: {
message: '안녕하세요 Vue!'
}
})
</script>
</body>
</html>
|
cs |
3. app도 하나의 객체이기 때문에 일반적인 JS처럼 변경 할 수 있다.
app.message = "" 를 통하여 data 안의 message를 변경 할 수 있다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">
<title>Document</title>
</head>
<body>
<div id="app">
{{ message }}
</div>
<script>
var app = new Vue({
el: '#app',
data: {
message: '안녕하세요 Vue!'
}
})
app.message = "반갑습니다 Vue.js!";
</script>
</body>
</html>
|
cs |
4. v-bind 속성
:title이 붙으면
html의 title 속성을 Vue 인스턴스로 제어한다는 뜻이다.
일단 기본적인 html 태그의 title 속성을 보자.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">
<title>Document</title>
</head>
<body>
<div id="app-2">
<span title="html 태그 title 속성">
내 위에 잠시 마우스를 올리면 동적으로 바인딩 된 title을 볼 수 있습니다!
</span>
</div>
<script>
var app2 = new Vue({
el: '#app-2',
data: {
message: '이 페이지는 ' + new Date() + ' 에 로드 되었습니다'
}
})
</script>
</body>
</html>
|
cs |
이제, 원하는 title값을 Vue 인스턴스를 통해서 동적으로 변경시키고 싶다면,
v-bind:title="원하는 값"을 입력해보자.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">
<title>Document</title>
</head>
<body>
<div id="app-2">
<span v-bind:title="message">
내 위에 잠시 마우스를 올리면 동적으로 바인딩 된 title을 볼 수 있습니다!
</span>
</div>
<script>
var app2 = new Vue({
el: '#app-2',
data: {
message: '이 페이지는 ' + new Date() + ' 에 로드 되었습니다'
}
})
</script>
</body>
</html>
|
cs |
728x90
'Vue.js' 카테고리의 다른 글
[Vue.js] Vue.js 시작하기 - 4 [ 컴포넌트를 사용한 작성방법 ] (0) | 2020.12.29 |
---|---|
[Vue.js] Vue.js 시작하기 - 3 [ 사용자 입력 핸들링 ] (0) | 2020.12.29 |
[Vue.js] Vue.js 시작하기 - 2 [ 조건문과 반복문 ] (0) | 2020.12.29 |
[Vue.js]Vue Cli를 이용하여 Vue.js 설치하기 (0) | 2020.12.21 |