ルーティング vue-router に関する vuejs インタビューの質問 10 件 (回答分析を含む)
この記事では、ルーティング vue-router に関する vuejs 面接の質問 10 個を紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。
ルーティング vue-router 面接の質問
1. mvvm フレームワークとは何ですか?
mvvm は Model-View-ViewModel です。mvvm の設計原理は mvc に基づいています。
MVVM は Model-View-ViewModel の略です。Model はデータ モデルを表し、ビジネス ロジックとデータを担当します。カプセル化、ビューはインターフェイスと表示を担当する UI コンポーネントを表し、ViewModel はモデル データの変更を監視し、ビューの動作を制御し、ユーザー インタラクションを処理し、ビュー レイヤーとモデル レイヤーを双方向で接続します。データバインディング。 MVVM アーキテクチャでは、View と Model は直接接続されず、ViewModel を介して相互作用するため、ビジネス ロジックのみに注目し、DOM を手動で操作する必要はなく、View と Model の同期を意識する必要もありません。 (学習ビデオ共有: vue ビデオ チュートリアル )
2. vue-router とは何ですか?コンポーネントは何ですか?
- Vue Router は、Vue.js の公式ルーティング マネージャーです。 Vue.js のコアと深く統合されているため、単一ページのアプリケーションを簡単に構築できます。
-
<router-link>
および<router-view>
および<keep-alive>
3.アクティブクラスはどのコンポーネントの属性ですか?
active-class はルーターリンクの終端属性で、選択したスタイルを切り替えるために使用されます。このスタイルはルーターリンクのラベルをクリックすると適用されます
4 . vue-routerの動的ルーティングを定義するにはどうすればよいですか?渡された値を取得するにはどうすればよいですか?
- 動的ルートの作成には、主に path 属性の使用が含まれます。動的パス パラメーターは、次のようにコロンで始まり、使用されます。詳細ディレクトリ 詳細/a、詳細/b などのすべてのファイルは、詳細コンポーネントにマップされます。
/details の下のルートと一致する場合、パラメータ値は this.$route.params に設定されるため、この属性を通じて動的パラメータを取得できます
- 5. vue-router にはどのような種類のナビゲーション フックがありますか?
{ path: '/details/:id' name: 'Details' components: Details }
グローバル フロント ガード
console.log(this.$route.params.id)
- from:Route、現在出発中のルートを表し、ルーティング オブジェクトでもあります。
- next:Function、次のメソッドです。
next(): パイプラインに次のフックを入力します。すべてのフックが実行されると、ナビゲーション ステータスが確認されます (確認済み)。 )
- next(false): 端末の現在のナビゲーション。ブラウザの URL が変更された場合、URL は from ルートに対応するアドレスにリチャージされます。 next('/')||next({path:'/'}): 別のアドレスにジャンプします。現在のナビゲーション端末で、新規ナビゲーションを実行します。
グローバル ポストフック
const router = new VueRouter({}) router.beforeEach((to, from, next) = { // to do somethings })
- ポストフックには next 関数がなく、ナビゲーション自体も変更されません。
- #ルート排他フック beforEnter
- コンポーネント内ナビゲーション フック
router.afterEach((to, from) = { // to do somethings })
ログイン後にコピー
const router = new VueRouter({ routes: [ { path: '/home', component: Home, beforeEnter: (to, from, next) = { // to do somethings // 参数与全局守卫参数一样 } } ] })
- beforeRouterEnter は、ナビゲーションが確認される前にガードが呼び出されるため、これにアクセスできません。そのため、新しいコンポーネントはまだ作成されていません。コールバックを next に渡すことで、コンポーネント インスタンスにアクセスできます。ナビゲーションが確認されたときにコールバックを実行し、インスタンスをコールバックのメソッドパラメータとして使用します。
const Home = { template: `<div</div`, beforeRouteEnter(to, from, next){ // 在渲染该组件的对应路由被 confirm 前调用 // 不能获取组件实例 ‘this’,因为当守卫执行前,组件实例还没被创建 }, beforeRouteUpdate(to, from, next){ // 在当前路由改变,但是该组件被复用时调用 // 例:对于一个动态参数的路径 /home/:id,在/home/1 和 /home/2 之间跳转的时候 // 由于会渲染同样的 Home 组件,因此组件实例会被复用,而这个钩子就会在这个情况下被调用。 // 可以访问组件实例 'this' }, beforeRouteLeave(to, from, next){ // 导航离开该组件的对应路由时调用 // 可以访问组件实例 'this' } }
- 6. $route と $router の違いは何ですか?
router は VueRouter のインスタンスで、ルーティング ジャンプ メソッドやフック関数などが含まれるグローバル ルーティング オブジェクトです。 route はルーティング情報オブジェクトです||ジャンプ ルーティング オブジェクトです。各ルートにはローカル オブジェクトであるルート オブジェクトがあり、パス、パラメータ、ハッシュ、クエリ、フルパス、一致、名前などのルーティング情報が含まれます。 、などのパラメータ。
- #7. vue-router はルーティング パラメーターの変更に応答します
const Home = {
template: `<div</div`,
beforeRouteEnter(to, from, next){
next( vm = {
// 通过 'vm' 访问组件实例
})
}
}
ログイン後にコピー
コンポーネント内のナビゲーション フック関数const Home = { template: `<div</div`, beforeRouteEnter(to, from, next){ next( vm = { // 通过 'vm' 访问组件实例 }) } }
// 监听当前路由发生变化的时候执行 watch: { $route(to, from){ console.log(to.path) // 对路由变化做出响应 } }
ログイン後にコピー
名前のみが可能パスを使用する場合は使用しないでください。
パラメータはパスに表示されません- ブラウザの強制更新パラメータはクリアされます。
beforeRouteUpdate(to, from, next){ // to do somethings }
ログイン後にコピー- #Query:
- # を使用できます
##
// 传递参数 this.$router.push({ name: Home, params: { number: 1 , code: '999' } }) // 接收参数 const p = this.$route.params
ログイン後にコピー- 9. vue-router の 2 つのモード##hash
// 传递参数 this.$router.push({ name: Home, query: { number: 1 , code: '999' } }) // 接收参数 const q = this.$route.query
history
- 利用了HTML5 History Interface 中新增的pushState()和replaceState()方法。
- 需要后台配置支持。如果刷新时,服务器没有响应响应的资源,会刷出404,
10. vue-router实现路由懒加载(动态加载路由)
- 把不同路由对应的组件分割成不同的代码块,然后当路由被访问时才加载对应的组件即为路由的懒加载,可以加快项目的加载速度,提高效率
const router = new VueRouter({ routes: [ { path: '/home', name: 'Home', component:() = import('../views/home') } ] })
以上是经过参考很多同行分享与官方文档,汇总的一份总结,如有不对,请指出,最后感谢大家观看,求点赞,求分享,求评论,求打赏~~
更多编程相关知识,请访问:编程视频!!
以上がルーティング vue-router に関する vuejs インタビューの質問 10 件 (回答分析を含む)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Vue で ECharts を使用すると、アプリケーションにデータ視覚化機能を簡単に追加できます。具体的な手順には、ECharts および Vue ECharts パッケージのインストール、ECharts の導入、チャート コンポーネントの作成、オプションの構成、チャート コンポーネントの使用、Vue データに対応したチャートの作成、対話型機能の追加、および高度な使用法の使用が含まれます。

質問: Vue におけるエクスポートのデフォルトの役割は何ですか?詳細説明: エクスポートデフォルトは、コンポーネントのデフォルトのエクスポートを定義します。インポートすると、コンポーネントが自動的にインポートされます。インポートプロセスを簡素化し、明確さを改善し、競合を防ぎます。一般に、名前付きエクスポートとデフォルト エクスポートの両方を使用して、個々のコンポーネントをエクスポートし、グローバル コンポーネントを登録するために使用されます。

Vue.js マップ関数は、各要素が元の配列の各要素の変換結果である新しい配列を作成する組み込みの高階関数です。構文は、map(callbackFn) です。callbackFn は、配列内の各要素を最初の引数として受け取り、オプションでインデックスを 2 番目の引数として受け取り、値を返します。 map 関数は元の配列を変更しません。

onMounted は、Vue のコンポーネント マウント ライフ サイクル フックです。その機能は、コンポーネントが DOM にマウントされた後に、DOM 要素への参照の取得、データの設定、HTTP リクエストの送信、イベント リスナーの登録などの初期化操作を実行することです。コンポーネントが更新された後、またはコンポーネントが破棄される前に操作を実行する必要がある場合は、他のライフサイクル フックを使用できます。

Vue.js でモジュールをエクスポートするには、エクスポートとデフォルトのエクスポートの 2 つの方法があります。 export は名前付きエンティティのエクスポートに使用され、中括弧の使用が必要です。export default はデフォルト エンティティのエクスポートに使用され、中括弧は必要ありません。インポートする場合、エクスポートによってエクスポートされたエンティティはその名前を使用する必要がありますが、エクスポートのデフォルトによってエクスポートされたエンティティは暗黙的に使用できます。複数回インポートする必要があるモジュールにはデフォルトのエクスポートを使用し、一度だけエクスポートするモジュールにはエクスポートを使用することをお勧めします。

Vue フックは、特定のイベントまたはライフサイクル ステージでアクションを実行するコールバック関数です。これらには、ライフサイクル フック (beforeCreate、mounted、beforeDestroy など)、イベント処理フック (クリック、入力、キーダウンなど)、およびカスタム フックが含まれます。フックはコンポーネントの制御を強化し、コンポーネントのライフサイクルに対応し、ユーザーの操作を処理し、コンポーネントの再利用性を向上させます。フックを使用するには、フック関数を定義し、ロジックを実行してオプションの値を返すだけです。

Vue.js イベント修飾子は、次のような特定の動作を追加するために使用されます。 デフォルト動作の防止 (.prevent) イベント バブリングの停止 (.stop) ワンタイム イベント (.once) イベントのキャプチャ (.capture) パッシブ イベント リスニング (.passive) アダプティブ修飾子 (.self)キー修飾子 (.key)

Vue の onMounted は、React の useEffect ライフサイクル メソッドに対応し、空の依存関係配列 [] を持ち、コンポーネントが DOM にマウントされた直後に実行されます。
