[30天 Vue学好学满 DAY22] Vue Router-1

Vue 官方所提供的路由,由於使用vue2,Vue Router 版本选择v3。

安装

// npm 
npm install vue-router

应用

新增route.js
设定path: '/' -> 可视为 http://localhost:8080/ 首页

import Vue from 'vue'
import VueRouter from 'vue-router'
import HelloWorld from '../components/HelloWorld.vue'

// 使用 vue-router
Vue.use(VueRouter)

// 汇出 vue-router 设置
export default new VueRouter({
    routes: [
        {
            name: 'helloWorld',   //组件呈现名称
            path: '/',     //对应路径
            component: HelloWorld //对应组件
        },
    ] 
})

於main.js引入

import router from './route/route.js'

new Vue({
  store,
  router,
  render: h => h(App),
}).$mount('#app')

router-view

於HTML中加上 <router-view>,并使用<router-link>定义连结。

将标签置入专案入口App.vue

<div id="app">
    <!-- <router-link> 默认为 <a> 标签 -->
    <p>
      <router-link to="/">首页</router-link>
      <router-link to="/todo" style="margin-left:10px">待办事项</router-link>
    </p>

    <!-- 实际渲染位置 -->
    <router-view></router-view>
  </div>

将HelloWorld前端调整

<h1>
    我是首页
</h1>

起前端测试

https://ithelp.ithome.com.tw/upload/images/20210920/20129536fninJ9N8TJ.png


History

可以看到网址中存在# ,是因为Vue-Router预设为hash mode

Hash mode

锚点,#後为网页中某位置,#後跳转不会触发整个网页的重新载入,且会将跳转纪录於浏览器历史中(可回上一页、切换至下一页)。

History mode

来自於HTML5对History API的扩充,可透过新增的pushState()replaceState()函数更新URL,也可透过原有go()back()实现上下页。

於route.js开启History mode

export default new VueRouter({
    mode: 'history', //History mode
    routes: [
        {
            name: 'helloWorld',   //组件呈现名称
            path: '/',     //对应路径
            component: HelloWorld //对应组件
        },
    ] 
})

重起前端检视网址

<!-- Hash mode -->
http://localhost:8080/#/
<!-- History mode -->
http://192.168.1.107:8080/

有错误请不吝指教!
参考资料
https://vuejs.org/v2/guide
https://book.vue.tw/CH4/4-1-vue-router-intro.html

/images/emoticon/emoticon31.gif


<<:  第7车厢-讨厌~叫人家开要干嘛?触发check事件应用篇

>>:  Day_10 : 让 Vite 来开启你的Vue 之 结构目录

[烧烤吃到饱-5] 潼阪 - 帝王蟹黑毛牛 - 顶级烧烤

发文前特别去查了一下价位,现在是NTD.1550元+10%(跟以前去吃时差不多),庆幸的是,在几次疫...

第27车厢-关於讯息视窗:bootstrap5Model应用篇

本篇介绍Bootstrap5 UI的Modal(弹出互动视窗)呼叫方式 起手式 <link ...

Day21: Infrastructure Protection on AWS

接下来我们进入到五大面向的第三个面向:基础设施保护。 基础设施保护是云端资安计划的关键部分,它可以确...

前言

来点什麽 这次参加也算是给自己一个挑战,内容主要会是写些在工作里实作上所遇到的一些问题,与如何处理,...

Day 27 - Clean Coder 时间管理与专业人士

前言 昨天讲 Clean Code,虽然昨天只聚焦在命名与注解,仅占 Clean Code 这本书的...