vue-routerを使用してシンプルなナビゲーション機能を完成させる記事で実装されたルートナビゲーション機能はパラメータを渡すことができないため、静的ルートになります。パラメータを渡すことができるルーティングモードは、パラメータを渡すことができるため、対応する経路の数が不定であるため、ダイナミックルーティングと呼ばれます。
では、パラメーターをルートとして使用するにはどうすればよいでしょうか?
パラメータ名の前に
:
を追加し、ルートのpath
にパラメータを書き込みます:
,然后将参数写在路由的path
内
如下示例:
routes: [ //将页面组件与path指令的路由关联 { name: 'BookInfo', path: '/books/:id', component: BookInfo } ]
这样定义之后,vue-router
就会匹配所有的:/books/1,/books/2,/books/3 ……
,所以说这样定义的路由的数量是不确定的。
在<router-link></router-link>
我们加入一个 params
<li> <router-link :to ="{name:'BookInfo',params :{id:1}}" > <p>首页</p> </router-link> </li>この定義の後、
vue-router
は、/books/1,/books/2,/books/3...
のすべてに一致するため、定義されているルートの数はこの方法は明確ではありません。
<router-link></router-link>
に、params
属性を追加して、特定のパラメータ値を指定します<p>当前图书编号是:{{$route.params.id}}</p>path: '/books/version/:id'
,则对应params
为:params :{id:1,version:1}
那么现在就面临这一个问题 —— 如何从路由中将这个参数值读取出来呢?
答:通过 $route.params
这个属性获取指定的参数值,如:this.$route.params.id
,this.$route.params.msg
如果希望在相应的组件页面内输出参数值,对应代码如下:
export default { name: "app", created() { alert(this.$route.params.id); }};
如果想在js
代码中根据参数值做相应的处理,则在默认路由中加入如下代码:
<script> export default { name: "app", watch :{ '$route' (to,from){ alert(to.params.id); } } }; </script>
当使用路由参数的时候,如 从
/books/1
到/books/2
上記のリンクは、http://localhost: 8080 に対応します。 /__dirname/books/1
複数のパラメータ値を渡す必要がある場合は、上記の命名方法に従ってパラメータを追加し、対応する宣言されたパラメータ値を params に渡すだけで済みます。定義は自動的にパラメータを分解して値を取得しますcreated mounted
等钩子函数在页面第二次加载的时候回失效。
那么,当复用组件时候,想对路由参数的变化做出响应的话,就需要在 $watch
对象内添加对 $route
对象变化的跟踪函数
{ name: 'BookInfo', path: '/books/:id/?bookName=Lost', component: BookInfo }
$route.params
定义的参数必然是整个路由的其中一部分,vue-router
还可以让我们使用"/path?param = value"
的方式传递参数,可以使用$route.query.参数名
获取参数值vue-router
还提供一种常量参数定义meta
,我们可以在路由定义中先定义meta
的值,然后在路由实例中通过$route.meta
参数获取具体常量值。
如下代码($route.query.参数名
)
{ name: 'BookInfo', path: '/books/:id', component: BookInfo ,meta: { bookName : 'Lost In River' }}
获取其中 bookName
的值的代码为 this.$route.query.msg
如下代码($route.meta.参数名
)
routes: [ //将页面组件与path指令的路由关联 { name: 'BookInfo', path: '/books/:id', component: BookInfo } ]
获取其中 bookName
的值的代码为 this.$route.meta.bookName
在文章 使用vue-router完成简单导航功能 中实现的路由导航功能是不能传递参数的,也就是说是静态路由。
而能传递参数的路由模式,由于可以传递参数,所以其对应的路由数量是不确定的,故称之为 动态路由
那么如何将参数作为路由呢?
在参数名前面加上
:
,然后将参数写在路由的path
内
如下示例:
<li> <router-link :to ="{name:'BookInfo',params :{id:1}}" > <p>首页</p> </router-link> </li>
这样定义之后,vue-router
就会匹配所有的:/books/1,/books/2,/books/3 ……
,所以说这样定义的路由的数量是不确定的。
在<router-link></router-link>
我们加入一个 params
たとえば、path: '/books/version/:id'
の場合、対応する params
は次のようになります: params:{id:1,version:1}
さて、ここで私たちはこの問題に直面しています - このパラメータ値をルートからどのように読み取るか?
回答:$route.params
属性を通じて、指定されたパラメータ値を取得します (this.$route.params.id
、this.$route など)。 params .msg
対応するコンポーネントページにパラメータ値を出力したい場合、対応するコードは以下の通りです:
<p>当前图书编号是:{{$route.params.id}}</p>path: '/books/version/:id'
,则对应params
为:params :{id:1,version:1}
那么现在就面临这一个问题 —— 如何从路由中将这个参数值读取出来呢?
答:通过 $route.params
这个属性获取指定的参数值,如:this.$route.params.id
,this.$route.params.msg
js
コードを入力し、次のコードをデフォルト ルートに追加します:
export default { name: "app", created() { alert(this.$route.params.id); }};
/books/1
から /books/2 などのルート パラメーターを使用する場合
では、両方のルートが同じコンポーネントをレンダリングするため、元のコンポーネント インスタンスは再利用され、再利用の販売率はコンポーネントを破棄して再作成するよりも高くなります。 🎜
これは、コンポーネントのライフサイクル フックが呼び出されなくなることを意味します (コンポーネントは破棄されてから作成されません)。つまり、created Mounted
とその他のフック関数は、ページがロードされるときに無効になります。 2回目。 🎜🎜🎜 したがって、コンポーネントを再利用するときに、ルーティング パラメータの変更に対応したい場合は、$watch
オブジェクト内に $route
を追加する必要があります。オブジェクトの変更の追跡機能 🎜🎜<script> export default { name: "app", watch :{ '$route' (to,from){ alert(to.params.id); } } }; </script>
🎜🎜
$route.params
定義されたパラメータはルート全体の一部である必要があります。vue-router
は、 "/path?param = value"
を使用してパラメータを渡します。$route.query.parameter name
を使用してパラメータ値を取得できます🎜vue-router は定数パラメータ定義 <code>meta
も提供します。まずルート定義で meta
の値を定義し、次に $route.meta を渡すことができます。ルーティング インスタンス。
パラメータは特定の定数値を取得します。 🎜🎜以下のコード($route.query.パラメータ名
)🎜{ name: 'BookInfo', path: '/books/:id/?bookName=Lost', component: BookInfo }🎜
bookName
の値を取得するコードはthis.$です。 Route.query.msg
🎜🎜以下のコード($route.meta.parameter name
)🎜{ name: 'BookInfo', path: '/books/:id', component: BookInfo ,meta: { bookName : 'Lost In River' }}🎜
bookName
の値を取得するコードはthis.$route.meta.bookName🎜🎜 vue-router を使用してシンプルなナビゲーション関数を完成するという記事で実装されたルート ナビゲーション関数はパラメーターを渡すことができません。つまり、静的ルートです。 🎜🎜パラメータを渡すことができるルーティングモード、パラメータを渡すことができるため、対応するルートの数が不確実であるため、🎜ダイナミックルーティングと呼ばれます🎜🎜🎜では、パラメータをルートとして使用するにはどうすればよいでしょうか? 🎜🎜🎜パラメータ名の前に :
を追加し、ルートの path
にパラメータを書き込みます 🎜🎜次の例: 🎜rrreee🎜この定義の後、vue-router
は、/books/1,/books/2,/books/3...
のすべてに一致するため、定義されているルートの数はこの方法は明確ではありません。 🎜🎜 <router-link></router-link>
に、params
属性を追加して、特定のパラメータ値を指定します🎜rrreee🎜上記のリンクは、http://localhost: 8080 に対応します。 /__dirname/books/1🎜🎜🎜 複数のパラメータ値を渡す必要がある場合は、上記の命名方法に従ってパラメータを追加し、対応する宣言されたパラメータ値を params に渡すだけで済みます。定義は自動的にパラメータを分解して値を取得します🎜
たとえば、path: '/books/version/:id'
の場合、対応する params
は次のようになります: params:{id:1,version:1} 🎜<hr>🎜 さて、ここで私たちはこの問題に直面しています - このパラメータ値をルートからどのように読み取るか? 🎜回答: <code>$route.params
属性を通じて、指定されたパラメータ値を取得します (this.$route.params.id
、this.$route など)。 params .msg
🎜🎜対応するコンポーネントページにパラメータ値を出力したい場合、対応するコードは次のとおりです: 🎜<p>当前图书编号是:{{$route.params.id}}</p>
如果想在js
代码中根据参数值做相应的处理,则在默认路由中加入如下代码:
export default { name: "app", created() { alert(this.$route.params.id); }};
当使用路由参数的时候,如 从
/books/1
到/books/2
,原来的组件实例会被复用,因为两个路由都渲染同一个组件,比起销毁后再创建,复用的销率会更高。
这也就是说 组件的生命周期钩子不会再被调用(组件没有被销毁后再创建) ,即created mounted
等钩子函数在页面第二次加载的时候回失效。
那么,当复用组件时候,想对路由参数的变化做出响应的话,就需要在 $watch
对象内添加对 $route
对象变化的跟踪函数
<script> export default { name: "app", watch :{ '$route' (to,from){ alert(to.params.id); } } }; </script>
$route.params
定义的参数必然是整个路由的其中一部分,vue-router
还可以让我们使用"/path?param = value"
的方式传递参数,可以使用$route.query.参数名
获取参数值vue-router
还提供一种常量参数定义meta
,我们可以在路由定义中先定义meta
的值,然后在路由实例中通过$route.meta
参数获取具体常量值。
如下代码($route.query.参数名
)
{ name: 'BookInfo', path: '/books/:id/?bookName=Lost', component: BookInfo }
获取其中 bookName
的值的代码为 this.$route.query.msg
如下代码($route.meta.参数名
)
{ name: 'BookInfo', path: '/books/:id', component: BookInfo ,meta: { bookName : 'Lost In River' }}
获取其中 bookName
的值的代码为 this.$route.meta.bookName
相关推荐:
以上がVue.js での動的ルーティングの例の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

JavaScriptは、Webページのインタラクティブ性とダイナミズムを向上させるため、現代のWebサイトの中心にあります。 1)ページを更新せずにコンテンツを変更できます。2)Domapiを介してWebページを操作する、3)アニメーションやドラッグアンドドロップなどの複雑なインタラクティブ効果、4)ユーザーエクスペリエンスを改善するためのパフォーマンスとベストプラクティスを最適化します。

CおよびJavaScriptは、WebAssemblyを介して相互運用性を実現します。 1)CコードはWebAssemblyモジュールにコンパイルされ、JavaScript環境に導入され、コンピューティングパワーが強化されます。 2)ゲーム開発では、Cは物理エンジンとグラフィックスレンダリングを処理し、JavaScriptはゲームロジックとユーザーインターフェイスを担当します。

JavaScriptは、Webサイト、モバイルアプリケーション、デスクトップアプリケーション、サーバー側のプログラミングで広く使用されています。 1)Webサイト開発では、JavaScriptはHTMLおよびCSSと一緒にDOMを運用して、JQueryやReactなどのフレームワークをサポートします。 2)ReactNativeおよびIonicを通じて、JavaScriptはクロスプラットフォームモバイルアプリケーションを開発するために使用されます。 3)電子フレームワークにより、JavaScriptはデスクトップアプリケーションを構築できます。 4)node.jsを使用すると、JavaScriptがサーバー側で実行され、高い並行リクエストをサポートします。

Pythonはデータサイエンスと自動化により適していますが、JavaScriptはフロントエンドとフルスタックの開発により適しています。 1. Pythonは、データ処理とモデリングのためにNumpyやPandasなどのライブラリを使用して、データサイエンスと機械学習でうまく機能します。 2。Pythonは、自動化とスクリプトにおいて簡潔で効率的です。 3. JavaScriptはフロントエンド開発に不可欠であり、動的なWebページと単一ページアプリケーションの構築に使用されます。 4. JavaScriptは、node.jsを通じてバックエンド開発において役割を果たし、フルスタック開発をサポートします。

CとCは、主に通訳者とJITコンパイラを実装するために使用されるJavaScriptエンジンで重要な役割を果たします。 1)cは、JavaScriptソースコードを解析し、抽象的な構文ツリーを生成するために使用されます。 2)Cは、Bytecodeの生成と実行を担当します。 3)Cは、JITコンパイラを実装し、実行時にホットスポットコードを最適化およびコンパイルし、JavaScriptの実行効率を大幅に改善します。

現実世界でのJavaScriptのアプリケーションには、フロントエンドとバックエンドの開発が含まれます。 1)DOM操作とイベント処理を含むTODOリストアプリケーションを構築して、フロントエンドアプリケーションを表示します。 2)node.jsを介してRestfulapiを構築し、バックエンドアプリケーションをデモンストレーションします。

Web開発におけるJavaScriptの主な用途には、クライアントの相互作用、フォーム検証、非同期通信が含まれます。 1)DOM操作による動的なコンテンツの更新とユーザーインタラクション。 2)ユーザーエクスペリエンスを改善するためにデータを提出する前に、クライアントの検証が実行されます。 3)サーバーとのリフレッシュレス通信は、AJAXテクノロジーを通じて達成されます。

JavaScriptエンジンが内部的にどのように機能するかを理解することは、開発者にとってより効率的なコードの作成とパフォーマンスのボトルネックと最適化戦略の理解に役立つためです。 1)エンジンのワークフローには、3つの段階が含まれます。解析、コンパイル、実行。 2)実行プロセス中、エンジンはインラインキャッシュや非表示クラスなどの動的最適化を実行します。 3)ベストプラクティスには、グローバル変数の避け、ループの最適化、constとletsの使用、閉鎖の過度の使用の回避が含まれます。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SublimeText3 中国語版
中国語版、とても使いやすい

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

WebStorm Mac版
便利なJavaScript開発ツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。
