Skip to content

Commit 04d9b54

Browse files
committed
write code
1 parent 3a6c907 commit 04d9b54

File tree

3 files changed

+64
-64
lines changed

3 files changed

+64
-64
lines changed

src/App.vue

Lines changed: 39 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,45 @@
11
<template>
22
<div id="app">
3-
<img alt="Vue logo" src="./assets/logo.png">
4-
<HelloWorld msg="Welcome to Your Vue.js + TypeScript App"/>
3+
<div class="container">
4+
<h3>Example1: A type of value is string</h3>
5+
<input type="date" v-model="date1" />
6+
<p>Time: {{ date1 }}</p>
7+
<p>A type of the value is: {{ function () { return typeof date1; }() }}</p>
8+
</div>
9+
<div class="container">
10+
<h3>Example2: Treat a value as a Date Object</h3>
11+
<input type="date"
12+
v-bind:value="date2"
13+
v-on:input="date2 = strToDate($event.target.value)"
14+
/>
15+
<p>{{ date2 }}</p>
16+
<p>A type of the value is: {{ function () { return typeof date2;}() }}</p>
17+
</div>
18+
<div class="container">
19+
<h3>MyDate: A component of treating a value as a Date Object.</h3>
20+
<my-date :date="date3" />
21+
</div>
522
</div>
623
</template>
724

825
<script lang="ts">
926
import { Component, Vue } from 'vue-property-decorator';
10-
import HelloWorld from './components/HelloWorld.vue';
27+
import MyDate from './components/MyDate.vue';
1128
1229
@Component({
1330
components: {
14-
HelloWorld,
31+
MyDate,
1532
},
1633
})
17-
export default class App extends Vue {}
34+
export default class App extends Vue {
35+
private date1: Date = new Date();
36+
private date2: Date = new Date();
37+
private date3: Date = new Date();
38+
39+
strToDate(date: string): Date {
40+
return new Date(date);
41+
}
42+
}
1843
</script>
1944

2045
<style>
@@ -26,4 +51,13 @@ export default class App extends Vue {}
2651
color: #2c3e50;
2752
margin-top: 60px;
2853
}
54+
55+
.container {
56+
min-width: 200px;
57+
min-height: 300px;
58+
border: solid;
59+
border-color: black;
60+
background-color: cadetblue;
61+
margin-bottom: 10px;
62+
}
2963
</style>

src/components/HelloWorld.vue

Lines changed: 0 additions & 59 deletions
This file was deleted.

src/components/MyDate.vue

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<template>
2+
<div>
3+
<input type="date"
4+
v-bind="date"
5+
v-on:input="date = strToDate($event.target.value)"
6+
/>
7+
<p>{{ date }}</p>
8+
<p>A type of the value is: {{ function () { return typeof date;}() }}</p>
9+
</div>
10+
</template>
11+
12+
<script lang="ts">
13+
import { Component, Prop, Vue } from 'vue-property-decorator';
14+
15+
@Component
16+
class MyDate extends Vue {
17+
@Prop() private date!: Date;
18+
19+
private strToDate(str: string): Date {
20+
return new Date(str);
21+
}
22+
}
23+
24+
export default MyDate;
25+
</script>

0 commit comments

Comments
 (0)