angular.js - # を含むルート、angularjs、vuejs のみがパスを識別できますか?
我想大声告诉你
我想大声告诉你 2017-05-15 16:59:24
0
6
618

Angular で

これが私のルートです:

リーリー

これは私の html コードです:

リーリー

href 属性が # 番号で始まる場合、この # 番号が含まれる場合、ルーティングは正常に機能します。 # 番号を削除すると、ルートはパス

を見つけられなくなります。 リーリー

vuejs でも同じことが起こります

vuejsvue-router を使用する場合、これが私のルートです:

リーリー

こちらは html:

リーリー

同様に、# 番号を使用したルーティングは正常に機能します:

を削除します。 リーリー

なぜこのようなことが起こっているのでしょうか?この # 数値は具体的に何をするのでしょうか?
は認識できるのに、http://localhost:8000/phones/motorola-xoom は認識できないのはなぜですか? http://localhost:8000/app/index.html#/phones/motorola-xoom

我想大声告诉你
我想大声告诉你

全員に返信(6)
左手右手慢动作

Web アプリは、URL を通じてさまざまな状態を識別する必要があります。さまざまな状態はさまざまな URL に対応するため、前後に移動したり、ブックマークを保存したりするのに便利です。
ただし、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 つの状態を表すことができ、遷移によってページは更新されません。

新しい History API は # を削除できますが、サーバーはフォールバック バージョンを提供する必要があるため、ここでは詳しく説明しません。 🎜
いいねを押す +0
巴扎黑
  1. まず、フロントエンドルーティングの基礎知識、onHashChangeやpushStateなどの最も基本的なことを学び、さらに小規模なルートを自分で書いてから使用してください。

  2. たとえ習っていなくても、公式ドキュメントを注意深く完全に読んでください。公式の例は非常に明確です。

いいねを押す +0
小葫芦

リーリー

Vueはルーティングモードをhtml5モードに設定することは公式ドキュメントには記載されていますが、書き方は書かれていません

いいねを押す +0
伊谢尔伦

ハッシュを気にする必要がないように、HTMLでv-link="{path : '/phones'}"を使用することをお勧めします

いいねを押す +0
巴扎黑

これは、フロントエンドがルーティングを実装する方法です。#バックエンドは、実際にはアンカーポイントに似ており、プッシュステートと同様に、パスと呼ばれます。同様に、より良い体験をするためのものなので、先に進んでも構いません。

いいねを押す +0
淡淡烟草味

Baidu でアンカー リンクをダウンロードして、angularjs と vuejs のドキュメントを読んでください

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート