序文
-
プロジェクトを発見し、初めてログインしたときにログイン ページに戻ると、ネイティブ ナビゲーション バーの左側にハウス ボタンが表示され、ホームページに直接戻ります。
-
最後に、いろいろ調べてみたところ、この WeChat のバージョンが更新された後は、ホームページやタブバーではないページに入ったときに表示されるようになることがわかりました。
-
WeChat にもこの解決策があり、WeChat 環境で無効にすることができます (h5 環境では表示されず、WeChat のみにあります)。
-
別の方法があります。ネイティブ ナビゲーション バーにのみ表示されます。ネイティブ ナビゲーション バーを無効にすると、問題は根本的に解決されます。
自分自身を理解する
WeChatミニプログラムは開始以来、軽量化を追求し、ユーザーの自己決定に重点を置き、ユーザー情報(古い)携帯電話番号認証などを備え、知覚できないユーザーエクスペリエンス(h5とは異なります)を実現しています。 ). 起きたらすぐにログイン ページに戻り、ログインする必要がありますが、これは彼の哲学に反します。そのため、ホーム ページまたはタブバー ページに入るときにこのボタンが表示されます。このようにして、小さなプログラムがたくさん入っているのがわかります。ホームページであり、情報を閲覧でき、ログインするだけでキー操作ができます。一部のアプレットには、認識せずに直接認証するための専用のログイン ページがありません。しかし、これは一撃で完了するわけではなく、特別なニーズに備えて、WeChat はこの問題を解決するための API も予約しています。
WeChat 開発者ドキュメント - uni-app ドキュメント - 検索 HideHomeButton で手順を表示します
解決
1. ログインページの -onShow ライフサイクルで、WeChat 環境にこの API があるかどうかを判断し、存在する場合はボタンを非表示にします。
短所: タイトルがある場合、タイトルが左に移動し、ボタンが一瞬表示され、ログイン ページに戻ると消えます (実機テストでは明らかです。ユーザー エクスペリエンスは良くありません)。
onShow() {
if (uni.hideHomeButton) {
console.log('uni.hideHomeButton');
wx.hideHomeButton();
}
},
2. 問題をソースから直接解決する
ホームボタンが左上にある理由はソースコードが判断しているためで、状況に応じてネイティブナビゲーションバーの左側にボタンが追加されます。ネイティブ ナビゲーション バーを直接無効にすると、問題は根本的に解決され、フラッシュオーバーは発生しません。ユーザー エクスペリエンスは良好です。
{
"path": "pages/login",
"style": {
"navigationBarTitleText": "登录页",
// 禁用原生导航栏
"navigationStyle": "custom"
}
},
要約:
このプロセスを経ると、uni-app が開発した WeChat アプレットについても、事前に深い印象をお持ちになると思います。ログイン ページに戻ると、左上隅に家のアイコンが表示されます (ホームページに戻る)。何が起こったのか、そしてそれをどのように解決するのか、しかし実際の開発では遭遇する状況は異なるはずなので、その原理を理解する必要があり、それは常に同じです。さあ、労働者を殴ってください!
欠点があればご指摘ください、ありがとうございます - Feng Guo Wuhen