Vue-路由-生命周期-组件

Vue的生命周期

钩子函数

初始化阶段:

​ 1. beforeCreate:在实例被创建之前调用,此时实例的数据和方法都无法访问。

​ 2. created:在实例被创建后立即调用,此时实例已经可以访问到数据和方法,但尚未完成挂载和渲染。

挂载阶段:

​ 1.beforeMount:在挂载开始之前调用,模板已经编译完成,但尚未将实例挂载到DOM上。 ​ 2.mounted:在挂载完成后调用,此时实例已经被挂载到DOM上,可以进行DOM操作和发送网络请求。

更新阶段:

​ 1.beforeUpdate:在数据更新之前调用,数据已经改变,但尚未更新到DOM上。 ​ 2.updated:在数据更新后调用,此时数据已经更新到DOM上,可以对DOM进行操作。

销毁阶段:

1.beforeDestroy:在实例销毁之前调用,此时实例仍然可用,可以执行清理操作。

2.destroyed:在实例销毁后调用,此时实例已经被销毁,无法再访问实例的数据和方法。

用途:

  • beforeCreate和created常用于进行初始化操作,如数据的初始化、依赖的初始化等。

  • mounted常用于进行DOM操作、调用第三方库、发送异步请求等需要在实例挂载到DOM后执行的操作。

  • beforeUpdate和updated常用于对数据的响应式变化进行处理、更新DOM等操作。

  • beforeDestroy和destroyed常用于进行资源的释放、取消事件订阅、清理定时器等操作。

  • html
    复制代码
    <template> <div> <h1>{{ message }}</h1> <button @click="updateMessage">Update Message</button> </div> </template> <script> export default { data() { return { message: 'Hello, Vue!', }; }, beforeCreate() { // 在组件实例被创建之前调用 console.log('beforeCreate'); }, created() { // 在组件实例被创建后立即调用 // 此时已经完成了数据的初始化,可以访问 data 中的数据 console.log('created'); }, beforeMount() { // 在组件挂载之前调用 // 此时模板编译已完成,但尚未将组件挂载到 DOM 中 console.log('beforeMount'); }, mounted() { // 在组件挂载完成后调用 // 此时组件已被挂载到 DOM 中,可以进行 DOM 操作、发送异步请求等操作 console.log('mounted'); }, beforeUpdate() { // 在组件更新之前调用 // 当组件的数据发生变化时会触发此钩子函数 // 可以在此阶段执行一些准备更新前的操作 console.log('beforeUpdate'); }, updated() { // 在组件更新完成后调用 // 当组件的数据变化导致重新渲染完成后会触发此钩子函数 // 可以在此阶段执行一些依赖于更新后的 DOM 的操作 console.log('updated'); }, beforeDestroy() { // 在组件销毁之前调用 // 可以在此阶段执行一些清理工作,如清除定时器、关闭网络连接等 console.log('beforeDestroy'); }, destroyed() { // 在组件销毁之后调用 // 此时组件实例已被销毁,无法再访问组件实例的数据和方法 console.log('destroyed'); }, methods: { updateMessage() { this.message = 'Updated Message'; }, }, }; </script>

Vue CLI 脚手架

安装 Vue CLI并创建一个项目

Vue CLI(Vue Command Line Interface)是一个用于快速构建基于 Vue.js 的项目的脚手架工具。通过使用 Vue CLI,我们可以快速搭建一个开箱即用的 Vue 项目,并获得一些便捷的开发工具和特性。

要使用 Vue CLI,首先需要安装 Node.js,因为 Vue CLI 是通过 Node.js 运行的。

安装完 Node.js 后,我们可以使用以下命令来全局安装 Vue CLI:

bash
复制代码
npm install -g @vue/cli

安装完成后,我们可以使用 vue create 命令来创建新的 Vue 项目:

bash
复制代码
vue create my-project

在执行上述命令时,Vue CLI 会提示我们选择一种预设配置,例如默认配置、手动配置、Vue 3、TypeScript 等。根据需要选择相应的配置。

Vue CLI 会下载所需的模板和依赖包,并自动生成一个基本的 Vue 项目结构和配置文件。安装完成后,进入项目目录:

bash
复制代码
cd my-project

然后可以使用以下命令来启动项目:

bash
复制代码
npm run serve

该命令会启动开发服务器,并在默认情况下将项目运行在 http://localhost:8080 上。此时,你可以在浏览器中访问该地址,查看运行中的 Vue 项目。

除了创建新项目外,Vue CLI 还提供了许多其他命令和功能,例如添加插件、配置打包优化、运行测试等。你可以使用 vue --help 命令查看所有可用的命令和选项。

项目结构分析

text
复制代码
my-project/ |- build/ # 构建配置文件 |- config/ # 项目配置文件 |- node_modules/ # 项目依赖的所有模块 |- src/ # 源代码文件夹 |- assets/ # 存放图像、样式等静态资源 |- components/ # 存放 Vue 组件 |- views/ # 存放页面级别的组件 |- App.vue # 根组件 |- main.js # 项目入口 JavaScript 文件 |- static/ # 存放静态资源 |- test/ # 存放测试文件 |- .babelrc # Babel 配置文件 |- .editorconfig # 编辑器配置文件 |- .eslintignore # ESLint 忽略文件配置 |- .eslintrc.js # ESLint 配置文件 |- .gitignore # Git 版本控制忽略文件配置 |- index.html # 主页面 HTML 文件 |- package.json # 项目依赖和脚本配置 |- README.md # 项目说明文件

与前面提到的 Vue CLI 4.x 的项目结构相比,这里有一些不同之处:

  • build/:存放构建配置文件,如 webpack 配置等。

  • config/:存放项目配置文件,如端口配置等。

  • static/:存放静态资源,如图片、字体、样式表等。在 Vue CLI 2.x 中,静态资源是直接复制到构建输出目录中的,并不会经过 webpack 打包处理。

  • test/:存放测试文件,如单元测试和端到端测试相关的代码。

  • .babelrc:Babel 配置文件,用于配置 JavaScript 代码的转译规则。

  • .editorconfig:编辑器配置文件,用于统一不同编辑器的代码格式化规则。

  • .eslintignore:ESLint 忽略文件配置,用于指定哪些文件或文件夹应该被 ESLint 忽略检查。

  • .eslintrc.js:ESLint 配置文件,用于定义代码规范和检查规则。

  • index.html:主页面的 HTML 文件,在构建过程中会将打包后的代码嵌入到这个 HTML 文件中。。

路由

什么是路由?

在前端开发中,路由(Routing)是指确定在不同 URL(Uniform Resource Locator)路径下展示哪个页面或组件的过程。简单来说,路由就是根据 URL 的变化,决定显示哪个页面或组件给用户。

  • http
    复制代码
    URL(Uniform Resource Locator)是统一资源定位符的缩写,是用于标识和定位互联网上资源(如网页、图片、视频等)的地址。 一个标准的 URL 包含以下几个组成部分: 1. 协议(Protocol):URL 开头的部分,指定了访问资源所使用的协议,如 HTTP、HTTPS、FTP 等。 2. 域名(Domain Name):在协议之后,":" 符号之前的部分。域名是由一系列有层次结构的名称组成,比如 www.example.com,用于标识服务器的地址。 3. 端口号(Port Number):在域名之后,":" 符号之后的部分,可选。指定了服务器上的网络服务所使用的端口号,默认的端口号与各种协议相关,如 HTTP 是 80,HTTPS 是 443。 4. 路径(Path):在域名之后的 "/" 符号之后的部分,指定了服务器上资源的路径,用来定位具体的资源。 5. 查询参数(Query Parameters):在路径之后的 "?" 符号及其后的部分,用于向服务器传递额外的参数或信息,以便服务器根据这些参数来动态生成响应。 6. 锚点(Fragment):在路径之后的 "#" 符号及其后的部分,用于指定页面内的锚点,使页面滚动到指定的位置。 举个例子,下面是一个 URL 的示例: ``` https://www.example.com:8080/path/to/resource?param1=value1&param2=value2#section-1 ``` 在这个示例 URL 中: - 协议为 HTTPS。 - 域名为 www.example.com。 - 端口号为 8080。 - 路径为 /path/to/resource。 - 查询参数为 param1=value1 和 param2=value2。 - 锚点为 section-1。 通过 URL,我们可以唯一地定位和访问互联网上的各种资源。在浏览器中输入 URL,浏览器会解析 URL 并向对应的服务器发送请求,服务器接收请求并返回相应的资源,最终浏览器会将资源渲染并显示给用户。

在传统的多页面应用中,用户通过点击链接或提交表单来跳转到不同的页面。每个页面都需要向服务器发送请求,服务器返回相应的 HTML、CSS 和 JavaScript,重新渲染整个页面。这种方式在用户体验和性能上有一定的局限性。

而在单页应用(SPA,Single Page Application)中,网站或应用的所有页面都加载一次,然后通过 JavaScript 动态地在前端进行内容的切换和更新。这种情况下,就需要使用路由来管理 URL 和对应的页面或组件之间的关系。

在前端框架(如 Vue.js、React、Angular)中,通常都有自己的路由机制,用于管理应用的不同页面或组件之间的切换。通过路由,我们可以定义各个 URL 路径所对应的组件,并在用户访问到相应的 URL 时,动态地加载和显示对应的组件。

路由系统通常提供了以下核心功能:

  1. 定义路由规则:我们可以配置不同的 URL 路径和对应的组件之间的关系,即定义路由规则。可以使用精确匹配或模糊匹配来实现不同的页面展示逻辑。

  2. 路由导航:可以通过编程方式或用户的交互跳转到不同的页面,路由系统会根据规则加载对应的组件并显示。

  3. **参数传递:**路由可以支持在 URL 中传递参数,用于动态地向组件传递数据,以便定制不同的展示内容。

  4. 嵌套路由:路由系统通常还支持嵌套路由,即在一个页面中嵌套加载其他子页面或组件,使页面结构更加灵活和可维护。

总结来说,路由是在前端应用中用于管理 URL 和对应页面或组件之间关系的机制。它使得单页应用可以更加灵活地根据 URL 的变化来切换页面内容,提供了更佳的用户体验和性能。

前端路由和后端路由是在前端和后端开发中用于管理 URL 和对应处理程序之间关系的概念。

前端路由(Front-end Routing):

在前端开发中,前端路由是通过 JavaScript 在客户端实现的,用于管理单页应用(SPA)中不同 URL 路径与对应页面或组件之间的关系。前端路由通过监听 URL 的变化,根据配置的路由规则动态加载和显示对应的页面或组件,实现页面间的无刷新切换。

常见的前端路由库或框架有 Vue Router(用于 Vue.js),React Router(用于 React),Angular Router(用于 Angular),它们提供了路由规则的定义、路由导航、参数传递等功能,使得构建交互式前端应用变得更加方便和灵活。

后端路由(Back-end Routing):

在后端开发中,后端路由是通过服务器端实现的,用于处理不同 URL 路径的请求并返回相应的响应数据。后端路由通过监听客户端发来的 HTTP 请求,根据请求的 URL 路径和其他条件,将请求转发给相应的处理程序(如控制器或处理函数),然后处理程序返回相应的数据或页面。

不同的后端框架或语言都有自己的后端路由机制,如 Express.js(基于 Node.js 的框架)、Django(Python 的框架)等。这些框架提供了定义路由规则、路由注册、参数解析等功能,使得后端开发人员可以方便地构建和管理多个不同 URL 路径的响应逻辑。

总结来说,前端路由用于在前端应用中管理不同 URL 路径和对应页面或组件之间的关系,而后端路由用于在后端处理不同 URL 路径的请求并返回相应的响应数据。两者一起工作,使得前后端的交互更加灵活和可靠。

Vue-router 基本使用

Vue Router 是 Vue.js 官方提供的路由管理器,用于在 Vue 应用中实现前端路由。下面是 Vue Router 的基本使用步骤:

  1. 安装 Vue Router:在终端中执行以下命令来安装 Vue Router 包:
bash
复制代码
npm install vue-router
  1. 引入 Vue Router:在项目的入口文件(例如 main.js)中引入 Vue Router,并使用 Vue.use() 来注册它:
javascript
复制代码
import Vue from 'vue'; import VueRouter from 'vue-router'; Vue.use(VueRouter);
  1. 设置路由的组件:在项目中的某个组件中定义要作为路由的组件(例如 Home.vueAbout.vue)。

  2. 配置路由规则:在入口文件中定义路由规则,并创建一个 VueRouter 实例:

javascript
复制代码
const router = new VueRouter({ routes: [ { path: '/', component: Home }, { path: '/about', component: About } ] });

这里的 routes 数组中的每个对象表示一个路由规则,path 表示 URL 路径,component 表示对应的组件。

  1. 将路由挂载到 Vue 实例上:将创建的 router 实例传递给 Vue 实例的 router 选项:
javascript
复制代码
new Vue({ router }).$mount('#app');
  1. 显示路由视图:在 Vue 模板中使用 <router-view> 组件来显示对应的路由组件。在模板中可以使用 <router-link> 组件来创建跳转到不同路由的链接:
html
复制代码
<router-link to="/">Home</router-link> <router-link to="/about">About</router-link> <router-view></router-view>
懒加载

懒加载(Lazy Loading),也称为按需加载,是一种优化技术,用于在需要时动态地加载资源,而不是一次性加载所有资源。

在前端开发中,懒加载主要用于优化页面加载速度和减少初始资源的大小。当页面较大或包含大量的资源(如图片、视频、JavaScript 文件等)时,一次性加载所有资源可能会导致首次加载时间过长,用户体验不佳。

通过懒加载,可以将页面划分为多个片段或模块,并只在用户需要时加载特定的模块。当用户滚动页面到达某个区域、点击某个按钮或触发其他交互事件时,才会动态地加载对应的模块。这样可以将页面的初始加载时间缩短,并在用户需要时进行资源加载,提高页面的响应速度。

在实现懒加载时,常见的方式有以下几种:

  1. 图片懒加载:对于页面中的图片,可以将图片的实际 URL 放置在自定义的属性(例如 data-src)中,而不是 src 属性中。当图片进入用户可视区域时,再将 data-src 中的 URL 赋值给 src 属性,触发图片的实际加载。

  2. 路由懒加载:对于前端路由中的组件,可以使用动态 import()require.ensure(在旧版 webpack 中使用)语法来按需加载组件。例如,在 Vue Router 中,可以将路由组件的配置修改为类似于下面的形式:

javascript
复制代码
{ path: '/about', component: () => import('./About.vue') }

这样,在用户访问 /about 路径时,才会动态地加载 About.vue 组件。

  1. 模块懒加载:对于其他模块或资源,例如 JavaScript 文件或第三方库,可以使用动态加载的方式,通过异步加载脚本来按需加载。例如,可以使用动态创建 <script> 标签或使用模块加载器(如 require.js、System.js)来动态加载 JavaScript 文件。
路由模式

在 Vue Router 中,有两种常见的路由模式:哈希模式(Hash Mode)和历史模式(History Mode)。

  1. 哈希模式(Hash Mode):这是 Vue Router 的默认路由模式。在哈希模式下,URL 中的路由路径会以 # 符号开始,例如 http://example.com/#/home。哈希符号之后的部分被称为哈希值。当 URL 中的哈希值发生变化时,不会触发页面的重新加载,而是通过 JavaScript 监听 hashchange 事件来实现页面的切换。哈希模式可以保证路由的兼容性,因为即使在不支持 HTML5 History API 的浏览器中,也可以正常使用路由功能。

  2. 历史模式(History Mode):在历史模式下,URL 中的路由路径是正常的 URL,不包含哈希符号。例如 http://example.com/home。在历史模式下, Vue Router 使用 HTML5 的 History API 来管理路由,通过修改浏览器的历史记录来实现页面的切换。在支持 History API 的现代浏览器中,可以使用 pushStatereplaceState 方法来修改 URL,而不会触发页面的刷新。历史模式提供了更加优雅的 URL,但要注意在使用历史模式时,需要服务器端的配置支持,以防止刷新页面时出现 404 错误。

可以通过在创建 VueRouter 实例时传递 mode 选项来设置路由模式,例如:

javascript
复制代码
const router = new VueRouter({ mode: 'history', routes: [...] });

其中,mode 的值可以是 'hash'(哈希模式)或 'history'(历史模式)。

在选择路由模式时,需要考虑项目的部署环境和对 URL 的需求。如果项目是一个单页面应用,并且不需要关注 URL 的格式或搜索引擎优化(SEO),则可以使用默认的哈希模式。如果希望 URL 更加友好,并且需要支持刷新页面时的路由匹配,可以考虑使用历史模式,但需要在服务器端进行相应的配置支持。

路由跳转方式

在 Vue Router 中,可以使用多种方式进行路由跳转,以下是常用的几种方式:

  1. 命令式导航(Imperative Navigation):通过编程方式来触发路由跳转,通常在组件中使用 $router 实例来调用相应的方法。例如:
javascript
复制代码
// 在组件中使用 this.$router.push() 进行路由跳转 this.$router.push('/home'); // 跳转到 /home // 或者使用 this.$router.replace() 替换当前路由 this.$router.replace('/about'); // 替换当前路由为 /about // 或使用 this.$router.go() 函数进行前进或后退 this.$router.go(-1); // 后退一页
  1. 声明式导航(Declarative Navigation):通过在模板中使用 <router-link> 组件或 router.push() 方法来进行路由跳转,可以直接在模板中设置对应的路由链接。例如:
html
复制代码
<!-- 在模板中使用 <router-link> 组件 --> <router-link to="/home">Home</router-link> <router-link :to="{ path: '/about' }">About</router-link> <!-- 或通过 $router.push() 进行路由跳转 --> <button @click="$router.push('/home')">Go Home</button>
  1. 编程式导航(Programmatic Navigation):通过在 JavaScript 代码中手动创建路由跳转的对象,然后将其传递给 $router.push()$router.replace() 方法。例如:
javascript
复制代码
const routeOptions = { path: '/home', query: { key: 'value' }, params: { id: 1 } }; // 使用 $router.push() 实现编程式导航 this.$router.push(routeOptions);

这里的 routeOptions 是一个包含路由跳转参数的对象,可以设置 pathquery(查询参数)和 params(路径参数),用于传递给目标路由。

无论是何种方式进行路由跳转,Vue Router 都会根据路由配置自动映射到对应的组件,并渲染到 <router-view> 中显示。可以根据应用的实际需求选择合适的方式进行路由跳转,以实现页面的导航和交互。

编程式跳转

编程式跳转是通过在 JavaScript 代码中手动创建路由跳转的对象,然后使用 $router.push()$router.replace() 方法来实现路由的跳转。以下是编程式跳转的示例:

  1. 使用 $router.push() 进行编程式跳转:
javascript
复制代码
// 在组件中或任意 JavaScript 代码中 this.$router.push('/home'); // 跳转到 /home 路由 // 传递参数的跳转 this.$router.push({ path: '/about', query: { id: 1 } }); // 跳转到 /about?id=1 路由 // 命名路由的跳转 this.$router.push({ name: 'user', params: { id: 1 } }); // 跳转到命名为 'user',带有参数 id 的路由
  1. 使用 $router.replace() 进行编程式跳转,与 $router.push() 类似,但会替换当前路由而不是添加新路由到历史记录:
javascript
复制代码
this.$router.replace('/home'); // 替换当前路由为 /home // 传递参数的跳转 this.$router.replace({ path: '/about', query: { id: 1 } }); // 替换当前路由为 /about?id=1 // 命名路由的跳转 this.$router.replace({ name: 'user', params: { id: 1 } }); // 替换当前路由为命名为 'user',带有参数 id 的路由

在编程式跳转时,可以直接传递目标路由的路径字符串,也可以传递包含路由配置的对象。对象参数中可以设置的选项包括:path(路径)、query(查询参数)、params(路径参数)以及 name(命名路由)等。

需要注意的是,可以在组件中使用 $router 对象来调用 $router.push()$router.replace() 方法,但在普通的 JavaScript 代码中,必须通过 Vue 实例来访问 $router 对象,例如 this.$router.push()

路由命名

在 Vue Router 中,可以为路由配置指定名称(Name),以便在编程式路由跳转、路由链接生成等场景中使用。通过为路由定义名称,可以避免直接使用路径字符串,使代码更加清晰可读。以下是在 Vue Router 中进行路由命名的示例:

在路由配置中,可以使用 name 属性为路由指定名称:

javascript
复制代码
const routes = [ { path: '/home', name: 'home', component: Home }, { path: '/about', name: 'about', component: About }, // ... ];

定义了名称之后,可以在组件中或任意 JavaScript 代码中使用路由名称进行编程式路由跳转:

javascript
复制代码
// 在组件中或任意 JavaScript 代码中 this.$router.push({ name: 'home' }); // 跳转到名称为 'home' 的路由 // 传递参数的跳转 this.$router.push({ name: 'about', query: { id: 1 } }); // 跳转到名称为 'about' 的路由,并传递查询参数 id

在编程式跳转时,可以使用 { name: 'routeName' } 的形式指定路由名称,从而跳转到对应的路由路径。可以是使用 push() 方法进行正常的路由跳转,也可以使用 replace() 方法进行路由替换。

此外,还可以在模板中使用 <router-link> 组件来生成具有路由名称的链接:

html
复制代码
<router-link :to="{ name: 'home' }">Home</router-link> <router-link :to="{ name: 'about' }">About</router-link>

通过 <router-link> 组件的 to 属性指定路由名称,即可生成对应的路由链接。

query 传参

在 Vue Router 中,可以使用查询参数(Query Parameters)来传递参数。查询参数是附加在 URL 后面的键值对形式,例如 http://example.com/path?param1=value1&param2=value2

以下是在 Vue Router 中使用查询参数传参的示例:

  1. 编程式导航传递查询参数
javascript
复制代码
// 在组件中或任意 JavaScript 代码中 this.$router.push({ path: '/path', query: { param1: 'value1', param2: 'value2' } });

上述代码将导航到 /path 路由,并传递了两个查询参数 param1param2。生成的 URL 将类似于 http://example.com/path?param1=value1&param2=value2

  1. 路由链接传递查询参数
html
复制代码
<router-link :to="{ path: '/path', query: { param1: 'value1', param2: 'value2' } }">Go Path</router-link>

上述代码将生成一个带有查询参数的路由链接。点击链接时,将导航到 /path 路由,并传递了查询参数 param1param2

  1. 获取查询参数: 可以在组件中使用 $route.query 来获取当前路由的查询参数:
javascript
复制代码
// 在组件中使用 console.log(this.$route.query.param1); // 输出查询参数 param1 的值 console.log(this.$route.query.param2); // 输出查询参数 param2 的值

查询参数的值将会自动进行类型转换,默认情况下,它们会被解析为字符串。如果传递的值是数字,可以在取值时使用 parseInt() 或其他转换方法将其转换为数字类型。例如:

javascript
复制代码
const param1Value = parseInt(this.$route.query.param1);

需要注意的是,查询参数是可选的,因此可以在某些情况下省略它们。

在路由路径中使用查询参数可以方便地传递一些额外的信息,如搜索关键字、页码等。通过在导航时传递查询参数,可以使应用程序更加灵活和可配置。

路由重定向

在 Vue Router 中,可以使用路由重定向(Redirect)来将某个路径重定向到另一个路径。路由重定向可以用于在用户访问某个路径时,自动将其导航到另一个路径,或者用于配置默认路由。

以下是在 Vue Router 中进行路由重定向的几种方式:

  1. 通过路由配置进行重定向: 在路由配置中,可以使用 redirect 属性指定重定向的路径:
javascript
复制代码
const routes = [ { path: '/', redirect: '/home' }, { path: '/home', component: Home }, { path: '/about', component: About }, // ... ];

上述代码中,配置了根路径 / 的重定向到 /home 路径。这意味着当用户访问根路径时,会自动重定向到 /home

  1. 通过命名路由进行重定向: 如果使用了命名路由,还可以通过命名路由进行重定向。在路由配置中,通过 name 属性为路由指定名称,然后在重定向中使用该名称:
javascript
复制代码
const routes = [ { path: '/', redirect: { name: 'home' } }, { path: '/home', name: 'home', component: Home }, { path: '/about', name: 'about', component: About }, // ... ];

上述代码中,配置了根路径 / 的重定向到名称为 home 的路由。用户访问根路径时,会自动重定向到名称为 home 的路由路径。

  1. 动态重定向: 有时,可能需要根据特定条件来动态进行路由重定向。可以使用动态路由的方式来实现。在路由配置中,可以通过 redirect 属性的值为一个函数,进行动态重定向的逻辑处理:
javascript
复制代码
const routes = [ { path: '/product/:id', redirect: to => { const { id } = to.params; if (id === '1') { return '/product-a'; // 重定向到 /product-a } else { return '/product-b'; // 重定向到 /product-b } } }, // ... ];

上述代码中,动态路由 /product/:id 根据参数 id 进行重定向处理,根据不同的 id 值,重定向到不同的路径。

通过路由重定向,可以将一个路径重定向到另一个路径,使应用程序具有更好的导航和用户体验。可以根据应用需求选择适合的方式来配置路由重定向。

0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
下载 APP