シングルページアプリケーションを開発する場合、特定のルートを入力し、パラメータに基づいてサーバーからデータを取得する必要がある場合があります。次に、ルートによって渡されたパラメータを最初に取得して、サーバー要求を完了する必要があります。したがって、ルートによってパラメータを渡すいくつかの方法を理解する必要があります。次の方法は プログラムによるルーティングパラメータ
1. パラメータを渡すルーティング構成 パス パラメータはコロン 定数ルート = [ // 動的セクションはコロンで始まります { path: 'details/:id', name: "details", component: Details }, ] const ホーム = { テンプレート: '<div @click="toDetails">詳細へ</div>', 方法: 詳細() { // 文字列パス this.$router.push('/details/001') // パスを持つオブジェクト this.$router.push({path: '/details/001'}) // ルートに名前を付けます。ルートを設定する場合、名前フィールドは必須です this.$router.push({ name: 'details', params: { id: '001' } }) } } } // `params` は `path` と一緒に使用できません router.push({ path: '/details', params: { id: '001' } }) // -> /details コンポーネントはデータを取得する ルートが一致すると、そのパラメータの値がすべてのコンポーネントで const 詳細 = { テンプレート: '<div>詳細 {{ $route.params.id }} </div>', 作成された() { // ルートの変更をリッスンします this.$watch( () => this.$route.params, (toParams、前のParams) => { // ルートの変更に応答します... } ) }, } 2. パススルークエリこの場合、 ルーティング構成
this.$router.push('/details/001?kind=car') this.$router.push({ パス: '/details/001'、クエリ: { 種類: "車" }}) this.$router.push({ name: 'details', params: { id: '001' }, query: { kind: 'car' }}) コンポーネントはデータを取得するコンポーネントは const 詳細 = { テンプレート: '<div>詳細 {{ $route.query.kind }} </div>', 作成された() { // ルートの変更をリッスンします this.$watch( () => this.$route.query, (toParams、前のParams) => { // ルートの変更に応答します... } ) }, } 同じコンポーネント内のパラメータの変更に応答するには、 3. ハッシュで渡すこのように、URL パスには ルーティング構成
this.$router.push('/details/001#car') this.$router.push({ パス: '/details/001', ハッシュ: '#car'}) this.$router.push({ name: 'details', params: { id: '001' }, hash: 'car'}) コンポーネントはデータを取得するコンポーネントは const 詳細 = { テンプレート: '<div>詳細 {{ $route.hash.slice(1) }} </div>', } 小道具によるパスコンポーネント内で 主にルート構成で、 1. ブールモード
たとえば、次のコードは 定数ユーザー = { テンプレート: '<div>ユーザー {{ $route.params.id }}</div>' } const ルート = [{ パス: '/user/:id', コンポーネント: ユーザー }] 上記のコードを次のように 定数ユーザー = { props: ['id'], // コンポーネント内のpropsを通じてIDを取得します テンプレート: '<div>ユーザー {{ id }}</div>' } // ルーティング設定で、props フィールドを追加し、値を true に設定します const ルート = [{ パス: '/user/:id', コンポーネント: User, プロパティ: true }] 注意: 名前付きビューを持つルートの場合は、名前付きビューごとに 定数ルート = [ { パス: '/user/:id', コンポーネント: { デフォルト: ユーザー、サイドバー: サイドバー }, // ユーザーにプロパティを提供する プロパティ: { デフォルト: true、サイドバー: false } } ] 2. オブジェクトモード
ルーティング構成 定数ルート = [ { パス: '/hello', コンポーネント: こんにちは、 プロパティ: { 名前: 'ワールド' } } ] コンポーネント内のデータを取得する 定数Hello = { 小道具: { 名前: { タイプ: 文字列、 デフォルト: 'Vue' } }, テンプレート: '<div> こんにちは {{ name }}</div>' } 3. 機能モード props を返す関数を作成できます。これにより、パラメータを他のタイプに変換したり、静的な値とルートベースの値を組み合わせたりすることが可能になります。 ルーティング構成 関数モードを使用する場合、props を返す関数は // プロパティを返す関数を作成する const dynamicPropsFn = (route) => { 戻り値: { name: route.query.say + "!" } } 定数ルート = [ { パス: '/hello', コンポーネント: こんにちは、 プロップ: dynamicPropsFn } ] コンポーネントはデータを取得するURL が 定数Hello = { 小道具: { 名前: { タイプ: 文字列、 デフォルト: 'Vue' } }, テンプレート: '<div> こんにちは {{ name }}</div>' } この時点でページは次のようにレンダリングされます。 注: その他の方法1. Vuexを経由する 1. 保管状態を保存する。 2. フロントエンドのローカルストレージやその他の方法を通じて 1. ローカルストレージ。 これで、Vue ルーティング コンポーネントでパラメータを渡す 8 つの方法についての記事は終了です。Vue ルーティング コンポーネントでパラメータを渡す方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: MySQL 5.5 のインストールと設定のグラフィックチュートリアル
>>: 複数のプロジェクトをデプロイする Docker nginx の例
本日実装する機能は、以下の機能です。vue.js シミュレーションカレンダープラグインさて、もう無駄...
1. 問題の説明<br />JS を使用してフォームの送信メソッドを呼び出してフォームを...
エンコーディングの理由により、Linux サーバーに中国語のファイルやディレクトリをアップロードまた...
上はシステム時間、下はハードウェア時間です。ここでは変更を加えているので、同じくらいの速さになってい...
目次1. シグナルリスト1.1. リアルタイム信号と非リアルタイム信号1.2 信号ステータス1.3 ...
誰もがこんな気持ちになったことがあると思います。30 秒の広告が入った動画を見ると、とても不快に感じ...
概要私は 1 年以上 Docker を使用しています。最近、サービスをすばやくオーケストレーションし...
フォーム要素はたくさんあります。簡単にまとめると、次のようになります。私のやり方では、主にテキスト ...
HTML5 では、入力用のネイティブ プレースホルダー属性が追加されており、これは高度なブラウザでサ...
この記事では、MySQL のトランザクション管理操作について説明します。ご参考までに、詳細は以下の通...
前: マークアップ言語 - フレーズ要素 オリジナルソース 第 7 章 アンカーHTML のリンクの...
これは今日私が踏んだ4つの落とし穴を記念したものです...落とし穴1:地元のせいエラー:エラー 39...
目次1. コンポーネントでの使用2. オプションのマージ要約する1. コンポーネントでの使用Mixi...
目次WiFiワイヤレステクノロジーの紹介1. WiFiテクノロジーの概要2. ESP8266の紹介W...
私が学習していたときに使用していたバージョンは比較的新しいものであり、インターネット上のチュートリア...