重点在 createRouterMatcher 里面的 addRoute,注意是一条条 route 处理的,整个 matcher 中的封装操作将在里面完成,而 route 的解析将告一段落,至于封装的意思就是,刚开始传进去的 routes 将不会是 vue-router4 中真正意义上使用的 routes,matcher 部分会将其进一步处理,像别名这些都要进
matcher 就是 vue-router 中的路由匹配器,负责路由的增删查,当我们进行路由跳转时,是通过 matcher 去匹配到正确路径,然后拿到 component(重定向除外),所以 matcher 是我们创建 vue-router 实例的第一步,当你发现路由匹配出错了,不正确,跳转到了错误的 component 或者未解析,那么极有可能是 matcher 部分出了问题,而...
AI代码解释 constructor(options:RouterOptions={}){this.app=null// 根 Vue 实例this.apps=[]// 保存所有子组件的 Vue 实例this.options=options// 保存传入的路由配置this.beforeHooks=[]// 钩子函数this.resolveHooks=[]// 钩子函数this.afterHooks=[]// 钩子函数// 路由匹配器this.matcher=createMatcher(...
// if we are an alias we must tell the original record that we exist,// so we can be removedif(originalRecord){originalRecord.alias.push(matcher)if(__DEV__){checkSameParams(originalRecord,matcher)}}else{// otherwise, the first record is the original and others are aliasesoriginalMatcher=...
在vue-router中,每一个我们定义的路由都会被解析成一个对应的matcher(RouteRecordMatcher类型),路由的增删改查都会依靠matcher来实现。 createRouterMatcher 在createRouter中会通过createRouterMatcher创建一个matcher(RouterMatcher类型)。 export function createRouterMatcher( ...
在vue-router中,每一个我们定义的路由都会被解析成一个对应的matcher(RouteRecordMatcher类型),路由的增删改查都会依靠matcher来实现。 createRouterMatcher 在createRouter中会通过createRouterMatcher创建一个matcher(RouterMatcher类型)。 export function createRouterMatcher( ...
在“初始化流程” 解读的文章当中,我们分析到在createRouter初始化路由的方法当中会调用createRouterMacher方法创建页面路由匹配对象 matcher。 先来回顾下createRouterMatcher这个方法主流程逻辑: 创建相关的路由匹配器的操作方法:addRoute, resolve,removeRoute, getRoutes,getRecordMatcher; ...
Matcher是vuerouter中的关键组件,负责路由的创建、修改和删除。它通过处理路由表和全局选项,实现路由的高效匹配和管理。Matcher的创建:createRouter函数通过createRouterMatcher生成Matcher。createRouterMatcher接收路由表和全局选项作为输入。Matcher的内部处理:在createRouterMatcher中,创建matchers和matcherMap来...
在VueRouter 实例化的时候, 会通过我们之前设置的 routers , 以及 createMatcher 创建一个匹配器, 匹配器包含一个 match 方法,用于匹配路由 // 文件位置: src/create-matcher.js // 创建匹配 export function createMatcher( routes: Array<RouteConfig>, ...
在vue-router中每个定义好的路由都会被解析成一个对应的matcher类型(routeRecordMatcher),路由的增删改查都会通过matcher实现. 在createRouter中会通过createRouterMatcher创建一个matcher(RouterMatcher类型)createRouterMatcher接收两个参数:routes、globalOptions.其中routes是我们定义的路由标,就是再createRouter时传入的options...