大年初四的学习 | 青训营笔记

77 阅读1分钟

这是我参与「 第五届青训营 」伴学笔记创作活动的第 11 天。

前言

今天是 2023 年 1 月 25 日星期三,农历正月初四。

依然祝大家兔年快乐🐰

今天我还是继续写一些关于 Vue 框架的学习笔记。Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架。Vue 只关注视图层,采用自底向上增量开发的设计。Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

Vue3 路由简介

Vue 路由允许我们通过不同的 URL 访问不同的内容。

通过 Vue 可以实现多视图的单页 Web 应用(single page web application,SPA)。

使用 Vue.js 路由需要载入 vue-router 库

Vue3 路由实例

Vue.js + vue-router 可以很简单的实现单页应用。

router-link  是一个组件,该组件用于设置一个导航链接,切换不同 HTML 内容。 to 属性为目标地址, 即要显示的内容。

以下实例中将 vue-router 加进来,然后配置组件和路由映射,再告诉 vue-router 在哪里渲染它们。代码如下所示:

<script src="https://unpkg.com/vue@3"></script> 
<script src="https://unpkg.com/vue-router@4"></script> 
<div id="app"> 
    <h1>Hello App!</h1> 
    <p> 
        <!--使用 router-link 组件进行导航 --> 
        <!--通过传递 `to` 来指定链接 --> 
        <!--`<router-link>` 将呈现一个带有正确 `href` 属性的 `<a>` 标签-->
        <router-link to="/">Go to Home</router-link> 
        <router-link to="/about">Go to About</router-link> 
    </p> 
    <!-- 路由出口 --> 
    <!-- 路由匹配到的组件将渲染在这里 --> 
    <router-view></router-view> 
</div>

没有使用常规的 a 标签,而是使用一个自定义组件 router-link 来创建链接。这使得 Vue Router 可以在不重新加载页面的情况下更改 URL,处理 URL 的生成以及编码。

router-view 将显示与 url 对应的组件。可以把它放在任何地方,以适应需要的布局。

<script>
// 1. 定义路由组件.
// 也可以从其他文件导入
const Home = { template: '<div>Home</div>' }
const About = { template: '<div>About</div>' }
 
// 2. 定义一些路由
// 每个路由都需要映射到一个组件。
const routes = [
  { path: '/', component: Home },
  { path: '/about', component: About },
]
 
// 3. 创建路由实例并传递 `routes` 配置
const router = VueRouter.createRouter({
  // 4. 内部提供了 history 模式的实现。为了简单起见,在这里使用 hash 模式。
  history: VueRouter.createWebHashHistory(),
  routes, // `routes: routes` 的缩写
})
 
// 5. 创建并挂载根实例
const app = Vue.createApp({})
//确保 _use_ 路由实例使
//整个应用支持路由。
app.use(router)
 
app.mount('#app')
 
// 现在,应用已经启动了!
</script>