Skip to content

Commit 55d6c7c

Browse files
committed
+ Update template.
1 parent 2257fd4 commit 55d6c7c

File tree

8 files changed

+56
-31
lines changed

8 files changed

+56
-31
lines changed

client/app.ts

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,25 +4,18 @@ import VueRouter from 'vue-router'
44
import Vuex from 'vuex'
55
import { sync } from 'vuex-router-sync'
66

7-
import Layout from './layout/index.vue'
87
import { createRouter } from './router'
98
import { createStore } from './store'
109

11-
import { GreetingService } from './service/greeting'
12-
import { UserService } from './service/user'
10+
import Layout from './layout/index.vue'
1311

1412
initVue()
15-
initService()
1613

1714
function initVue () {
1815
Vue.use(VueRouter)
1916
Vue.use(Vuex)
2017
}
2118

22-
function initService () {
23-
App.addSingleton(GreetingService, UserService)
24-
}
25-
2619
function createApp () {
2720
const router = createRouter()
2821
const store = createStore()

client/page/index/index.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,17 @@ import { IUser, UserService } from '../../service/user'
77
@Component
88
export default class AppIndex extends Vue {
99
pageName: string = ''
10-
userList: IUser[] = []
1110

12-
async created () {
13-
this.greetingSrv.greet('Index')
14-
this.userList = await this.userSrv.getUserList()
11+
private get userList (): IUser[] {
12+
return this.$store.getters['index/userList']
1513
}
1614

17-
constructor (
18-
private greetingSrv: GreetingService,
19-
private userSrv: UserService
20-
) {
21-
super()
15+
private async asyncData ({ store, to }) {
16+
const userList = await UserService.getUserList()
17+
return store.commit('index/setUserList', userList)
18+
}
19+
20+
private created () {
21+
GreetingService.greet('Index')
2222
}
2323
}

client/service/greeting.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
1-
import { Injectable } from '@vert/core'
2-
3-
@Injectable()
4-
class GreetingService {
5-
greet (name: string) {
1+
abstract class GreetingService {
2+
static greet (name: string) {
63
console.log(`Hello, ${name}!`)
74
}
85
}

client/service/user.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
1-
import { Injectable } from '@vert/core'
2-
3-
@Injectable()
4-
class UserService {
5-
async getUserList (): Promise<IUser[]> {
1+
abstract class UserService {
2+
static async getUserList (): Promise<IUser[]> {
63
return [
74
{ name: 'LancerComet', age: 10 },
85
{ name: 'Wch', age: 20 }

client/store/index.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
import Vuex from 'vuex'
22

3-
import { about } from '../page/about/store'
3+
import { index } from './modules/index'
4+
import { about } from './modules/about'
45

56
function createStore () {
67
return new Vuex.Store({
78
modules: {
9+
index,
810
about
911
}
1012
})
File renamed without changes.

client/store/modules/index.ts

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
// Copyright (c) 2021 LancerComet
2+
//
3+
// This software is released under the MIT License.
4+
// https://opensource.org/licenses/MIT
5+
6+
import { IUser } from '../../service/user'
7+
8+
const index = {
9+
namespaced: true,
10+
11+
state (): IIndexState {
12+
return {
13+
userList: []
14+
}
15+
},
16+
17+
mutations: {
18+
setUserList (state: IIndexState, payload: IUser[]) {
19+
state.userList = payload
20+
}
21+
},
22+
23+
getters: {
24+
userList (state: IIndexState) {
25+
return state.userList
26+
}
27+
}
28+
}
29+
30+
export {
31+
index
32+
}
33+
34+
interface IIndexState {
35+
userList: IUser[]
36+
}

package-lock.json

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)