There is this project I’m working on and I’m stuck. I want when I click next step button the route becomes http://icontent.me/app/employer/make-order?step=1
and so on.
I’m using Vue.js and vue-router.
How do I make this happen? I have included the router.js
and a screenshot if necessary.
router.js
JavaScript
x
43
43
1
import Vue from 'vue';
2
import VueRouter from 'vue-router';
3
4
// Import Routes //
5
import Welcome from '../components/Welcome.vue';
6
import Home from '../components/Home.vue';
7
import Admin from '../components/Admin.vue';
8
9
import HomePageContent from '../components/SectionHome/HomePageContent.vue';
10
import MakeOrder from '../components/Employer/MakeOrder.vue';
11
12
Vue.use(VueRouter);
13
14
export const router =new VueRouter({
15
mode:'history',
16
routes:[
17
{
18
path: '/',
19
component:Welcome
20
},
21
{
22
path: '/app/employer',
23
component:Home,
24
children:[
25
{
26
path:'',
27
component:HomePageContent
28
},
29
{
30
path:'make-order',
31
name:'make-order',
32
component:MakeOrder,
33
},
34
]
35
},
36
{
37
path:'/app/admin',
38
component:Admin,
39
children:[]
40
},
41
]
42
});
43
next handler
JavaScript
1
11
11
1
methods: {
2
next () {
3
if (this.current == 4) {
4
//call finishing method here//
5
this.current = 0;
6
} else {
7
this.current += 1;
8
//navigate route with the current step//
9
}
10
}
11
Advertisement
Answer
this.$router.push({ path:this.$route.path, query: { step: this.current } })