반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- MAC
- build
- centos
- jest
- node
- ReactNative
- IOS
- Chrome
- linux
- vsCode
- localserver
- unittest
- 네트워크
- 오블완
- androidstudio
- Android
- xcode
- VirtualBox
- 티스토리챌린지
- PYTHON
- webpack
- qunit
- MachineLearning
- TensorFlow
- react
- 리눅스
- 개발
- 센토스
- 맥
Archives
- Today
- Total
로메오의 블로그
[VUE + TYPESCRIPT] @Model 본문
반응형
$ touch src/components/Checkbox.vue
Checkbox.vue를 만들고 아래와 같이 코딩합니다.
<template>
<input type="checkbox" :checked="checked" @change="change">
</template>
<script lang="ts">
import {Vue, Component, Model, Emit} from 'vue-property-decorator';
@Component
export default class MyCheckbox extends Vue {
@Model('change', {type: Boolean}) readonly checked!: boolean;
@Emit()
change(event: Event) {
return event.target.checked;
}
}
</script>
src/component/Home.vue
<template>
<div class="home">
<img alt="Vue logo" src="../assets/logo.png">
<my-checkbox v-model="checked" @change="change"></my-checkbox>
{{ text }}
</div>
</template>
<script lang="ts">
import { Vue, Component, Provide } from 'vue-property-decorator';
import MyCheckbox from '@/components/Checkbox.vue';
@Component({
components: {
MyCheckbox,
},
})
export default class Home extends Vue {
checked: boolean = false;
text: string = '선택함';
change(checked: boolean) {
this.checked = checked;
this.text = checked ? '선택함' : '선택하지 않음';
}
}
</script>
반응형
'Frontend > Vue' 카테고리의 다른 글
[VUE + TYPESCRIPT] Vuex Interface를 구현하는 Store (0) | 2021.02.12 |
---|---|
[VUE + TYPESCRIPT] Mixins 다중상속 (0) | 2021.02.12 |
[VUE + TYPESCRIPT] @Provide / @Inject로 데이터 전달 (0) | 2021.02.11 |
[VUE + TYPESCRIPT] Emit 이벤트, 부모에게 이벤트 전달 (0) | 2021.02.11 |
[VUE + TYPESCRIPT] Watch 데이터 감시하기 (0) | 2021.02.10 |
Comments