VueRouter 程式設計式導航

2022-07-20 11:12:12 字數 2299 閱讀 2090

``是在使用者點選的情況下進行頁面更新,但是有時候,我們想要在`js`中手動的修改頁面的跳轉,此時就需要「程式設計式導航」了。

有三種方法:

push的引數:

1)字串:直接就是路徑

this.$router.push("/post")

2)物件:path和name都可以,但是使用`path`時,引數必須新增到`path`中,放到`params`中無效。

// 傳遞物件

// this.$router.push()

this.$router.push(

})

2、`this.$router.replace`:跟`push`一樣,只不過是直接替換當前頁面,不會新增到瀏覽器的`history`中。

let currentpath = this.$route.fullpath

this.$router.replace(

})

// 下一步

gotonext() ,

// 上一步

gotoprevent()

doctype html

>

<

html

lang

="en"

>

<

head

>

<

meta

charset

="utf-8"

>

<

meta

name

="viewport"

content

="width=device-width, initial-scale=1.0"

>

<

script

src=""

>

script

>

<

script

src=""

>

script

>

<

title

>vuerouter-程式設計式導航

title

>

head

>

<

body

>

<

div

id>

<

button

@click

="gotopost"

>帖子列表

button

>

<

button

@click

="gotoprofile"

>個人中心

button

>

<

button

@click

="gotologin"

>登入

button

>

<

button

@click

="gotonext"

>上一步

button

>

<

button

@click

="gotoprevent"

>下一步

button

>

<

router-view

>

router-view

>

div>

<

script

>

varpost

=vue.extend()

varprofile

=vue.extend()

varlogin

=vue.extend()

let router

=new

vuerouter(, , ]

})newvue(,

gotoprofile() )

this

.$router.push(

})},

//如果要傳參則,將要傳遞的值以鍵值對的形式通過query傳遞

gotologin()

//})

//或者使用replace,但是replace不會將本次跳轉記錄到`history`中

this

.$router.replace(

})},

gotonext() ,

gotoprevent() }})

script

>

body

>

html

>

五 Vue Router 程式設計式導航

除了使用宣告式建立a標籤來定義導航鏈結,還可以借助router的例項方法來跳轉導航,這種通過編寫js 來實現的方式叫程式設計式導航。在vue例項內部,通過 router訪問路由例項。可以使用this.router.push 方法來跳轉導航。這個方法會向history棧新增乙個新的記錄。當點選瀏覽器後...

vue 程式設計式導航

可以直接使用建立a標籤來導航鏈結,我們也可以通過編寫 來實現,主要有下面4種寫法 字串 router.push home 物件 router.push 命名的路由 router.push 帶查詢引數,變成 register?plan private router.push 注意 如果提供了path,...

react router 程式設計式導航

還記得vue裡面的路由是怎麼寫的嗎?在vue裡面,路由需要 引入 例項化路由物件 定義規則 掛載到全域性 路由佔坑 在頁面中使用 vue裡面路由導航也有兩種方式 router link 是配合router view使用在頁面當中的 另一種是在函式被觸發的時候執行this.router.push 路由...