vue 2ルーティングrouter.push()
2484 ワード
前言
本文は記録として、原文はここから転じて、一部の内容の改善に対して自分の理解を加えた.
router.push(location)
異なるURLにナビゲートしたい場合は、
宣言:
replaceキーワード
タイプ:boolean デフォルト:false
総合事例
本文は記録として、原文はここから転じて、一部の内容の改善に対して自分の理解を加えた.
router.push(location)
を使用してa
ラベルを作成してナビゲーションリンクを定義するほか、router
のインスタンスメソッドを使用して、コードを記述することによって実現することもできます.router.push(location)
異なるURLにナビゲートしたい場合は、
router.push
メソッドを使用します.この方法はhistory
スタックに新しいレコードを追加するので、ユーザがブラウザの戻るボタンをクリックすると、前のURLに戻る.
を有するtemplate
において、ユーザがこのリンクをクリックすると、実質的には内部でrouter.push()
メソッドが呼び出されるので、表示呼び出しrouter.push(...)
は実質的に
と一致し、1つはラベル用法であり、1つは脚論理用法である宣言:
プログラミング:router.push(...)
この方法のパラメータは、文字列パス、またはアドレスを記述するオブジェクトであってもよく、いくつかの一般的な使用法は以下の通りである.//
router.push('home')
//
this.$router.push({path: '/login?url=' + this.$route.path});
//
router.push({ name: 'user', params: { userId: 123 }});
// , /backend/order?selected=2
this.$router.push({path: '/backend/order', query: {selected: "2"}});
//
this.$http.post('v1/user/select-stage', {stage: stage})
.then(({data: {code, content}}) => {
if (code === 0) {
//
this.$router.push({path: '/home'});
}else if(code === 10){
// , /login?stage=stage
this.$router.push({path: '/login', query:{stage: stage}});
}
});
//
let queryData = {};
if (this.$route.query.stage) {
queryData.stage = this.$route.query.stage;
}
if (this.$route.query.url) {
queryData.url = this.$route.query.url;
}
this.$router.push({path: '/my/profile', query: queryData});
replaceキーワード
replace
プロパティを設定すると、クリックするとrouter.replace()
ではなくrouter.push()
が呼び出され、ナビゲーション後にhistory
の記録は残りません.戻るボタンをクリックしてもこのページには戻らない.現在のルーティングを置き換えた履歴を実行しますthis.$router.push({path: '/home', replace: true})
// :
// :
router.replace(...)
総合事例
let queryData = {
id: this.groupID,
name: this.groupName,
tags: 30
}
this.$router.push({path: '/coach/' + this.$route.params.id, query: queryData});