この記事では、ルーティング vue-router に関する vuejs 面接の質問 10 個を紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。
mvvm は Model-View-ViewModel です。mvvm の設計原理は mvc に基づいています。
MVVM は Model-View-ViewModel の略です。Model はデータ モデルを表し、ビジネス ロジックとデータを担当します。カプセル化、ビューはインターフェイスと表示を担当する UI コンポーネントを表し、ViewModel はモデル データの変更を監視し、ビューの動作を制御し、ユーザー インタラクションを処理し、ビュー レイヤーとモデル レイヤーを双方向で接続します。データバインディング。 MVVM アーキテクチャでは、View と Model は直接接続されず、ViewModel を介して相互作用するため、ビジネス ロジックのみに注目し、DOM を手動で操作する必要はなく、View と Model の同期を意識する必要もありません。 (学習ビデオ共有: vue ビデオ チュートリアル )
<router-link>
および <router-view>
および <keep-alive>
active-class はルーターリンクの終端属性で、選択したスタイルを切り替えるために使用されます。このスタイルはルーターリンクのラベルをクリックすると適用されます
/details の下のルートと一致する場合、パラメータ値は this.$route.params に設定されるため、この属性を通じて動的パラメータを取得できます
{ path: '/details/:id' name: 'Details' components: Details }
console.log(this.$route.params.id)
next(): パイプラインに次のフックを入力します。すべてのフックが実行されると、ナビゲーション ステータスが確認されます (確認済み)。 )
const router = new VueRouter({}) router.beforeEach((to, from, next) = { // to do somethings })
router.afterEach((to, from) = { // to do somethings })
const router = new VueRouter({ routes: [ { path: '/home', component: Home, beforeEnter: (to, from, next) = { // to do somethings // 参数与全局守卫参数一样 } } ] })
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' } }
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 }
##
// 传递参数 this.$router.push({ name: Home, params: { number: 1 , code: '999' } }) // 接收参数 const p = this.$route.params
// 传递参数 this.$router.push({ name: Home, query: { number: 1 , code: '999' } }) // 接收参数 const q = this.$route.query
history
const router = new VueRouter({ routes: [ { path: '/home', name: 'Home', component:() = import('../views/home') } ] })
更多编程相关知识,请访问:编程视频!!
以上がルーティング vue-router に関する vuejs インタビューの質問 10 件 (回答分析を含む)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。