π Vue λμ μ»΄ν¬λνΈ
μ΄λ²μ μ¬λ΄μμ κ°λ°νλ μ±μ νλ©΄ νΈμ§ κΈ°λ₯μ μΆκ°νλ©΄μ
λμ μ»΄ν¬λνΈ
μ λν΄μ μ°Ύμλ³΄κ² λμμ΅λλ€.
νΈμ§ κΈ°λ₯μ ν΅ν΄ μν μΉ΄λμ μμλ₯Ό λ³κ²½ν΄μΌ νλλ°, νλ©΄ 리νλ μκ° λ°μνμ§ μκ³
DOM μ μμλ₯Ό μ‘°μν΄μΌνκΈ° λλ¬Έμ μ΄λ₯Ό μν λ°©λ²μ΄ λ°λ‘ λμ μ»΄ν¬λνΈ
μμ΅λλ€.
π λμ μ»΄ν¬λνΈλ?
λμ μ»΄ν¬λνΈ
λ λ§ κ·Έλλ‘ λ λλ§λλ μ»΄ν¬λνΈλ₯Ό λμ μΌλ‘ λ³κ²½ κ°λ₯ν κ²μ μλ―Έν©λλ€.
λ°λΌμ νΉμ 쑰건μ λ°λΌ μλ‘ λ€λ₯Έ μ»΄ν¬λνΈλ₯Ό λ§μ΄νΈ νλ κ²μ΄ κ°λ₯ν©λλ€.
<template>
<div>
<component :is="currentComponent" />
<button @click="onClick" >ν΄λ¦</button>
</div>
</template>
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator'
import Car from '../components/Car.vue'
import Finance from '../components/Finance.vue'
@Component({
name: 'Index',
components: { Car, Finance }
})
export default class Index extends Vue {
private isCar = false
public get currentComponent() {
return this.isCar ? Car : Finance
}
public onClick() {
this.isCar = !this.isCar
}
}
</script>
<style>
</style>
λμ μμλ₯Ό μν κ°λ¨ν μμ μ λλ€.
component
μ is
μμ±μ λ λλ§νκ³ μ νλ μ»΄ν¬λνΈλ₯Ό μ§μ ν΄μ
λμ μΌλ‘ μ»΄ν¬λνΈλ₯Ό ν λΉν μ μμ΅λλ€.
'π archive' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Vue.js μνκ΄λ¦¬ 1νΈ] Vue.Observable μ ν΅ν μνκ΄λ¦¬ (0) | 2022.03.07 |
---|---|
[Vue.js] $el μ΅μ μ 무μμΌκΉ? (0) | 2022.03.01 |
[Vue.js] computed μμ± μ¬μ© μ μ£Όμν μ λ€ (0) | 2022.02.23 |
[Vue.js] Error Boundary λ‘ μλ¬ νΈλ€λ§νκΈ° (0) | 2022.02.20 |
[Vue.js] ν¨μν μ»΄ν¬λνΈ μ΄λͺ¨μ λͺ¨ (0) | 2022.02.20 |
π¬ λκΈ