Skip to content

Commit 0033878

Browse files
committed
add ts
1 parent 4e54c26 commit 0033878

File tree

6 files changed

+70
-40
lines changed

6 files changed

+70
-40
lines changed

Diff for: src/components/ArticleList/ArticleItem.tsx

+9-5
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@ export interface IArticle {
1313
data: {
1414
type: Object,
1515
// required: true,
16+
},
17+
article: {
18+
type: Object,
19+
// required: true,
1620
}
1721
},
1822
computed: {},
@@ -22,15 +26,15 @@ export interface IArticle {
2226

2327
export default class ArticleItem extends Vue {
2428
data!: IArticle
25-
// article: IArticle
29+
article!: IArticle
2630

2731
render () {
2832
return (
2933
<div class="vtx-articleItem">
30-
<div class="vtx-articleItem__title">{this.data.title}</div>
31-
<div class="vtx-articleItem__des">{this.data.description}</div>
32-
<div class="vtx-articleItem__date">{this.data.date}</div>
33-
<div class="vtx-articleItem__content">{this.data.content}</div>
34+
<div class="vtx-articleItem__title">{this.article.title}</div>
35+
<div class="vtx-articleItem__des">{this.article.description}</div>
36+
<div class="vtx-articleItem__date">{this.article.date}</div>
37+
<div class="vtx-articleItem__content">{this.article.content}</div>
3438
</div>
3539
);
3640
}

Diff for: src/components/ArticleList/index.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,13 @@ export default class ArticleList extends Vue {
2626
<div class="vtx-articleList">
2727
<GroupLabel />
2828
<div class="vtx-articleList__content">
29-
{
29+
{/* {
3030
this.articles.map((i) => {
3131
return (
3232
<ArticleItem data={i}/>
3333
)
3434
})
35-
}
35+
} */}
3636
</div>
3737
</div>
3838
);

Diff for: src/components/Nav/index.tsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ export default class Nav extends Vue {
1515
<div class="vtx-nav">
1616
<router-link to="/">{this.$t('home')}</router-link> |
1717
<router-link to="/article">{this.$t('article')}</router-link> |
18-
<router-link to="/about">{this.$t('about')}</router-link>
18+
<router-link to="/about">vue</router-link> |
19+
<router-link to="/ts">typeScript</router-link> |
1920
</div>
2021
);
2122
}

Diff for: src/router.ts

+8
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,14 @@ export default new Router({
2424
},
2525
],
2626
},
27+
{
28+
path: '/ts',
29+
name: 'ts',
30+
// route level code-splitting
31+
// this generates a separate chunk (about.[hash].js) for this route
32+
// which is lazy-loaded when the route is visited.
33+
component: () => import(/* webpackChunkName: "ts" */ './views/TypeScript/index.vue'),
34+
},
2735
{
2836
path: '/about',
2937
name: 'about',

Diff for: src/views/About.vue

-32
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,6 @@
11
<template>
22
<div class="about">
33
<h1>使用vue-template</h1>
4-
<pre class="ql-syntax" spellcheck="false">&lt;template&gt;
5-
6-
&lt;div class="about"&gt;
7-
8-
&lt;h1&gt;使用vue-template&lt;/h1&gt;
9-
10-
&lt;/div&gt;
11-
12-
&lt;/template&gt;
13-
14-
15-
16-
&lt;style lang="scss" scoped&gt;
17-
18-
.about {
19-
20-
text-align: left;
21-
22-
padding-left: 45%;
23-
24-
}
25-
26-
h1 {
27-
28-
color: red;
29-
30-
}
31-
32-
&lt;/style&gt;
33-
34-
35-
</pre><p><br></p><p><br></p><p><br></p><p><br></p><p><br></p><p><br></p>
364
</div>
375
</template>
386

Diff for: src/views/TypeScript/index.vue

+49
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
<template>
2+
<div class="ts">
3+
<h1>{{msg}}</h1>
4+
<div v-for="(article,index) in articles" :key="index">
5+
<ArticleItem :article="article" @click="handleClick"/>
6+
</div>
7+
</div>
8+
</template>
9+
10+
<script lang="ts">
11+
12+
import Vue from 'vue';
13+
import Component from 'vue-class-component';
14+
import ArticleItem,{IArticle} from '@/components/ArticleList/ArticleItem';
15+
16+
@Component({
17+
components:{
18+
ArticleItem:ArticleItem,
19+
},
20+
})
21+
22+
export default class TypeScript extends Vue{
23+
msg = '使用vue-typeScript';
24+
articles = [
25+
{title:'article1', description:'this is a description', date: '2019-10-11',content: 'content,content,content'},
26+
{title:'article1', description:'this is a description', date: '2019-10-11',content: 'content,content,content'},
27+
{title:'article1', description:'this is a description', date: '2019-10-11',content: 'content,content,content'},
28+
{title:'article1', description:'this is a description', date: '2019-10-11',content: 'content,content,content'},
29+
{title:'article1', description:'this is a description', date: '2019-10-11',content: 'content,content,content'},
30+
{title:'article1', description:'this is a description', date: '2019-10-11',content: 'content,content,content'},
31+
] as IArticle[];
32+
33+
handleClick(val:any) {
34+
console.log('handleClick',val)
35+
}
36+
37+
}
38+
39+
</script>
40+
41+
<style lang="scss" scoped>
42+
.ts {
43+
text-align: left;
44+
}
45+
h1 {
46+
color: red;
47+
}
48+
</style>
49+

0 commit comments

Comments
 (0)