π Language/Vue
[Age of Vue] Vue.js μμνκΈ° - 15.props μ€μ΅
a n u e
2022. 5. 2. 22:50
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div id="app">
<!--
<app-header v-bind:νλ‘μ€ μμ± μ΄λ¦="μμ μ»΄ν¬λνΈμ λ°μ΄ν° μ΄λ¦"></app-header>
-->
<app-header v-bind:propsdata="message"></app-header>
<!-- μ»΄ν¬λνΈμ propsλͺ
λ°μΈλ©ν΄μ£Όκ³ , μμ μ»΄ν¬λνΈμ μμ± κ°μ μ μ΄μ€λ€ -->
<app-content v-bind:propsdata="num"></app-content>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
var appHeader = {
template : '<h1>{{ propsdata }}</h1>' ,
//μλμμ λ°μ props μ΄λ¦ μ§μ
props : ['propsdata']
}
var appContent = {
template : '<div>{{ propsdata }}</div>' ,
//μλμμ λ°μ props μ΄λ¦ μ§μ
//λ€λ₯Έ λͺ
μΉμ μ¬μ©νμ¬λ λκ³ , κ° λ²μμμ μ λν¬νκ² μ μ©λκΈ° λλ¬Έμ
//λ€λ₯Έ μ»΄ν¬λνΈμ propsλͺ
μ΄ λμΌν΄λ κ΄κ³μλ€.
props : ['propsdata']
}
new Vue({
el : '#app' ,
components : {
'app-header' : appHeader,
'app-content' : appContent
},
data : {
message : 'hi',
num:10
}
})
</script>
</body>
</html>
Root μ»΄ν¬λνΈμμ μ§μ ν μμ± κ°μ΄ λ°λλ©΄ (ex: num, message)
μλμΌλ‘ μμ μ»΄ν¬λνΈμ κ°λ λ°λλ€.
μ΄κ²μ΄ λ°λ‘ Vueμ Reactivity