ルーティングファイルとルーティング方法(5つの完全解析)
小さいプログラムの5種類のルートの方法はシーンを使って、ルートのファイルとルートの方法をカプセル化して、小さいプログラムの体験と開発の効率を高めます。
解決すべき問題を明確にするは、ルーティングを使用するたびに、いつもコピーパスを貼り付けます。このように経路が変更された場合、その経路を使用するすべての場所を変更して、維持コストが高い 。ルーティング・ジャンプ時のスプライス・パラメータは人の頭を大きくし、業務が複雑な時に十数個のパラメータ をつなぎ合わせます。ルートは戻ります。1階に戻るだけで、目的ページに直接戻ることができません。目的ページがルートスタックにあるかどうかは分かりません。何階目の にあるかは分かりません。
これらの問題はすべてルートファイルとルートの方法をカプセル化して解決することができて、開発効率を提供して、BUGを減らして、節約する時間は多く彼女に付き添うことができます。
ルートファイルをカプセル化し、ルートを一括管理する。
ルートディレクトリでrouter.jsを作成します。
パッケージルーティング方法
ルートの方法は5つあります。よく使うのは3つのswitch Tab、navigateTo、navigateBackです。
この5つの方法と使用シーンを簡単に紹介します。 switch Tab、tabBarページ専用にジャンプして、その他のページはスタックを出して、新しいページは倉庫の に入ります。 navigateToで最もよく使われているルーティング・ジャンプは、ページ・スタックに参加して、戻りが許可されます。つまり、新しいページは絶えずスタック に入ります。 navigateBackは、ターゲットページ に到達するまで、ページスタック内に存在するページに戻ることができます。 redirectToは現在のページを閉じて、あるページにジャンプして、現在のページはページスタックに参加しません。つまり、現在のページは戻ります。例えば、支払いページ、支払い完了後、ユーザーにお支払いページに戻らないようにしてください。商品が削除された後、またnavigateBackを通じて商品を削除します。体験はきっとよくないと思います。現在のページの出庫と表現しています。新しいページはスタック に入ります。 reLaunchはすべてのページを閉じて、あるページを開けて、任意のページを開けてtabBarを含んで、ある操作を強制的に完成するページに適合しています。例えば、登録したユーザーがクリックして終了したら、ログインページに入ります。戻ってから帰ることはできません。そのまま登録または登録しなければなりません。これを使って、すべてのページがスタックから出るように表現します。新しいページは に入ります。
パッケージを開始し、ルートディレクトリでutils.jsを作成します。
締め括りをつける
小さいプログラムのルートはジャンプして多くの方法があって、しかし具体的なシーンの下で適当なのは一つだけあって、適切なルートを選んでジャンプして方式を跳びます。
ウィジェットコードのセグメントアドレスhttps://developers.weixin.qq.com/s/CsoJwDmR7B8N
github、助けられたらスターをください。
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。
解決すべき問題を明確にする
これらの問題はすべてルートファイルとルートの方法をカプセル化して解決することができて、開発効率を提供して、BUGを減らして、節約する時間は多く彼女に付き添うことができます。
ルートファイルをカプセル化し、ルートを一括管理する。
ルートディレクトリでrouter.jsを作成します。
// ,
export default {
'index':'/index/index', //
'list':'/list/list', // list
'top':'/top/top', // top
}
最初の問題を解決しました。パッケージルーティング方法
ルートの方法は5つあります。よく使うのは3つのswitch Tab、navigateTo、navigateBackです。
この5つの方法と使用シーンを簡単に紹介します。
パッケージを開始し、ルートディレクトリでutils.jsを作成します。
//
export default {
/**
* function
* @param {string} url
* @param {Object} param
* @description , json param , JSON.parse(options.param)
*/
navigateTo(url,param={}){
if(param){
url+=`?param=${JSON.stringify(param)}`
}
wx.navigateTo({
url:url,
fail(err) {
console.log('navigateTo ',err)
},
})
},
/**
* function
* @param {string} url
* @param {Object} param , navigateTo , ,
* @description , , , , , , navigateTo
*/
navigateBack(url,param={}){
const pagesList = getCurrentPages()
let index = pagesList.findIndex(e=>{
return url.indexOf(e.route)>=0
})
if(index == -1){ // , navigateTo
this.navigateTo(url,param)
}else{
wx.navigateBack({
delta: pagesList.length-1-index,
fail(err){
console.log('navigateBack ',err)
}
})
}
},
switchTab(url){ // switchTab,switchTab
wx.switchTab({
url:url
})
},
redirectTo(url,param={}){ // redirectTo, navigateTo
if(param){
url+=`?param=${JSON.stringify(param)}`
}
wx.redirectTo({
url:url,
fail(err) {
console.log('redirectTo ',err)
},
})
},
reLaunch(url,param={}){ // reLaunch, navigateTo
if(param){
url+=`?param=${JSON.stringify(param)}` , , , !
}
wx.reLaunch({
url:url,
fail(err) {
console.log('reLaunch ',err)
},
})
}
}
以上のパラメータのパッケージは第二の問題を解決しました。navigateBackのパッケージは第三の問題を解決しました。締め括りをつける
小さいプログラムのルートはジャンプして多くの方法があって、しかし具体的なシーンの下で適当なのは一つだけあって、適切なルートを選んでジャンプして方式を跳びます。
ウィジェットコードのセグメントアドレスhttps://developers.weixin.qq.com/s/CsoJwDmR7B8N
github、助けられたらスターをください。
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。