router-view的原理
时间: 2023-09-02 07:11:26 浏览: 182
router-view的原理是通过Vue的组件机制实现的。当使用router-view标签时,实际上是在Vue组件中注册了一个全局的组件,并通过路由系统来动态地渲染对应的组件。
具体来说,Vue的router实例在注册路由时混入了全局的beforeCreate钩子函数,该钩子函数在每个组件实例创建之前执行。在这个钩子函数中,会将Vue的原型对象上的$route和$router属性进行拓展,使得每个组件实例都能够通过this.$route和this.$router访问到对应的路由信息和路由实例。
当路由发生变化时,router-view组件会根据当前路由的路径匹配到对应的组件,并将其渲染到视图中。这是通过监听路由变化的事件来实现的。当路由变化时,会触发Vue的响应式机制,从而触发router-view组件的重新渲染。这样就实现了动态渲染对应组件的功能。
总结起来,router-view的原理是通过全局注册组件并利用Vue的响应式机制来实现动态渲染对应组件的功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [【JavaScript源代码】Vue router-view和router-link的实现原理.docx](https://download.csdn.net/download/mmoo_python/72117437)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [「进阶篇」Vue Router 核心原理的 5 个问题你会了吗?](https://blog.csdn.net/QCJay/article/details/123966476)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文