これが私のルートです:
リーリーこれは私の html
コードです:
href
属性が #
番号で始まる場合、この #
番号が含まれる場合、ルーティングは正常に機能します。 #
番号を削除すると、ルートはパス
vuejs
と vue-router
を使用する場合、これが私のルートです:
こちらは html
:
同様に、#
番号を使用したルーティングは正常に機能します:
なぜこのようなことが起こっているのでしょうか?この #
数値は具体的に何をするのでしょうか?
は認識できるのに、http://localhost:8000/phones/motorola-xoom
は認識できないのはなぜですか? http://localhost:8000/app/index.html#/phones/motorola-xoom
Web アプリは、URL を通じてさまざまな状態を識別する必要があります。さまざまな状態はさまざまな URL に対応するため、前後に移動したり、ブックマークを保存したりするのに便利です。
新しい History API はただし、Web アプリでのユーザー エクスペリエンスを確保するために、ページ ステータスの遷移は通常、ページを更新しません。これは、多くの場合、ajax を通じて実現されます。
従来の ajax はアドレス バーには影響しません (リクエストは新しい URL をリクエストするのではなく、XHR オブジェクトを通じて完了します)。そのため、URL をさまざまなページの状態に対応させたい場合はどうすればよいでしょうか?
windows.location
などのメソッドはページ全体を更新します。windows.location
之类的方法是会刷新整个页面的。这就需要用到传统的
#
了。锚点这东西本来是让你在当前页面的不同部分移动的,支持前进后退和保存书签,于是就被拿来应用在Web App的路由中。这样www.example.com/index.html#phones 和www.example.com/index.html#users 就能表示两个状态,而且转换不会刷新页面。新的History API可以把
#
これには従来の#
を使用する必要があります。アンカー ポイントは元々、現在のページの異なる部分間を移動することを可能にし、前後に移動したり、ブックマークを保存したりできるため、Web アプリのルーティングに使用されました。このように、www.example.com/index.html#phones と www.example.com/index.html#users は 2 つの状態を表すことができ、遷移によってページは更新されません。#
を削除できますが、サーバーはフォールバック バージョンを提供する必要があるため、ここでは詳しく説明しません。 🎜まず、フロントエンドルーティングの基礎知識、onHashChangeやpushStateなどの最も基本的なことを学び、さらに小規模なルートを自分で書いてから使用してください。
たとえ習っていなくても、公式ドキュメントを注意深く完全に読んでください。公式の例は非常に明確です。
リーリー
Vueはルーティングモードをhtml5モードに設定することは公式ドキュメントには記載されていますが、書き方は書かれていません
ハッシュを気にする必要がないように、HTMLでv-link="{path : '/phones'}"を使用することをお勧めします
これは、フロントエンドがルーティングを実装する方法です。#バックエンドは、実際にはアンカーポイントに似ており、プッシュステートと同様に、パスと呼ばれます。同様に、より良い体験をするためのものなので、先に進んでも構いません。
Baidu でアンカー リンクをダウンロードして、angularjs と vuejs のドキュメントを読んでください