Skip to content
This repository was archived by the owner on Mar 22, 2022. It is now read-only.

Commit c4fb95f

Browse files
committed
Implement multiple pages' URI by vue-router
1 parent 6110913 commit c4fb95f

File tree

5 files changed

+94
-31
lines changed

5 files changed

+94
-31
lines changed

src/App.vue

Lines changed: 5 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,11 @@
11
<template>
2-
<div id="app">
3-
<Home v-if="!isLogin"></Home>
4-
<Editor v-if="isLogin" :user="userData"></Editor>
5-
</div>
2+
<div id="app">
3+
<router-view></router-view>
4+
</div>
65
</template>
76

87
<script>
9-
import Home from "./components/Home.vue"
10-
import Editor from "./components/Editor.vue"
11-
128
export default {
13-
name: "app",
14-
data() {
15-
return {
16-
isLogin: false,
17-
userData: null
18-
}
19-
},
20-
created: function() {
21-
firebase.auth().onAuthStateChanged(user => {
22-
console.log(user)
23-
if (user) {
24-
this.isLogin = true
25-
this.userData = user
26-
} else {
27-
this.isLogin = false
28-
this.userData = null
29-
}
30-
})
31-
},
32-
components: {
33-
Home: Home,
34-
Editor: Editor
35-
}
9+
name: "app"
3610
}
37-
</script>
11+
</script>

src/main.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@ import 'shitajicss/docs/css/shitaji.min.css'
22
import './scss/style.scss'
33
import Vue from 'vue'
44
import App from './App.vue'
5+
import router from './router'
56

67
new Vue({
78
el: '#app',
9+
router: router,
810
render: h => h(App)
911
})

src/router.js

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import Vue from 'vue'
2+
import VueRouter from 'vue-router'
3+
import Top from './views/Top'
4+
import Terms from './views/Terms'
5+
6+
Vue.use(VueRouter)
7+
const routes = [
8+
{
9+
path: '/',
10+
name: 'top',
11+
component: Top
12+
},
13+
{
14+
path: '/terms',
15+
name: 'terms',
16+
component: Terms
17+
}
18+
]
19+
20+
export default new VueRouter({
21+
routes: routes
22+
})

src/views/Terms.vue

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<template>
2+
<div id="terms">
3+
<h1>
4+
利用規約
5+
</h1>
6+
<p>
7+
ここに利用規約の文章が入ります。
8+
</p>
9+
<router-link :to="{ name: 'top' }">
10+
TOPに戻る
11+
</router-link>
12+
</div>
13+
</template>
14+
15+
<script>
16+
export default {
17+
name: "terms"
18+
}
19+
</script>

src/views/Top.vue

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
<template>
2+
<div id="top">
3+
<Home v-if="!isLogin"></Home>
4+
<Editor v-if="isLogin" :user="userData"></Editor>
5+
<router-link :to="{ name: 'terms' }">
6+
利用規約
7+
</router-link>
8+
</div>
9+
</template>
10+
11+
<script>
12+
import Home from "../components/Home.vue"
13+
import Editor from "../components/Editor.vue"
14+
15+
export default {
16+
name: "top",
17+
data() {
18+
return {
19+
isLogin: false,
20+
userData: null
21+
}
22+
},
23+
created: function() {
24+
firebase.auth().onAuthStateChanged(user => {
25+
console.log(user)
26+
if (user) {
27+
this.isLogin = true
28+
this.userData = user
29+
} else {
30+
this.isLogin = false
31+
this.userData = null
32+
}
33+
})
34+
},
35+
components: {
36+
Home: Home,
37+
Editor: Editor
38+
}
39+
}
40+
</script>
41+
42+
<style lang="scss">
43+
#top {
44+
font-family: "Avenir", Helvetica, Arial, sans-serif;
45+
}
46+
</style>

0 commit comments

Comments
 (0)