当前位置: 首页 > news >正文

商洛做网站的公司如何建立自己的网页

商洛做网站的公司,如何建立自己的网页,罗琳做的网站,如何做网络投票网站Vue3vite搭建基础架构(6)--- 使用vue-router 说明官方文档安装vue-router使用vue-router测试vue-router 说明 这里记录下自己在Vue3vite的项目使用vue-router的过程,不使用ts语法,方便以后直接使用。这里承接自己的博客Vue3vite搭…

Vue3+vite搭建基础架构(6)--- 使用vue-router

  • 说明
  • 官方文档
  • 安装vue-router
  • 使用vue-router
  • 测试vue-router

说明

这里记录下自己在Vue3+vite的项目使用vue-router的过程,不使用ts语法,方便以后直接使用。这里承接自己的博客Vue3+vite搭建基础架构(5)— 使用vue-i18n这篇博客,在该博客项目的基础上增加使用vue-router。

官方文档

Vue3使用vue-router官方文档:https://router.vuejs.org/zh/installation.html

安装vue-router

根据官网给的安装命令如下:

npm install vue-router@4

在webstorm里面的Terminal输入npm install vue-router@4命令安装该依赖。执行完如下:
在这里插入图片描述

package.json会增加vue-router版本号
在这里插入图片描述

使用vue-router

在src目录下新建router文件夹,在该文件夹里面创建一个index.js文件。
在这里插入图片描述

router文件夹下的index.js代码:

//引入router路由做页面请求
import { createRouter,createWebHashHistory } from 'vue-router'
/* Layout通用组件 */
import Layout from '../views/layout/layout'//前端页面路由地址
const routes = [{path: '/404', component: () => import('@/views/404')},//必须要把组件放在Layout的children里面,才能在侧边栏的右侧显示页面内容,否则不加载通用架构直接在当前空白页面渲染内容,如:404页面{path: '',component: Layout,redirect: '/home',children: [{path: 'home',name: 'home',component: () => import('@/views/home/index'),meta: {title: '首页', icon: 'home'}},{path: 'hello',name: 'hello',component: () => import('@/components/HelloWorld'),meta: {title: '测试页', icon: 'hello'}}]}
]// 3. 创建路由实例并传递 `routes` 配置
const router = createRouter({// 4. 内部提供了 history 模式的实现。为了简单起见,我们在这里使用 hash 模式。history: createWebHashHistory(),routes, // `routes: routes` 的缩写
})//路由前置守卫
router.beforeEach((to, from, next) => {//路由发生变化修改页面titleif (to.meta.title) {document.title = to.meta.title}next()
})//导出路由
export default router

在main.js里面引入router配置:
在这里插入图片描述
代码如下:

import { createApp } from 'vue'
//引入element-plus
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
//将element-plus里面默认语言英文改为中文,需要引入它
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
//引入dayjs日期插件
import dayjs from 'dayjs'
//引入国际化配置
import lang from './locale'
//引入router路由
import router from './router'
import './style.css'
import App from './App.vue'const app = createApp(App)
//使用element-plus,并设置语言为中文
app.use(ElementPlus, {locale: zhCn,
})
//通过provide全局注入工具函数
app.provide('$dayjs', dayjs)
//国际化配置使用
app.use(lang)
//使用router路由
app.use(router)
app.mount('#app')

路由里面配置了几个页面地址,这里贴上对应页面代码,404图片随便网上找一个就行。
在这里插入图片描述

在src目录下新建views文件夹,在views文件夹下新建404.vue页面。
404页面代码如下:

<template><div><div class="app-container"><el-col :span="12"><img :src="img_404" alt="404" class="img-style"></el-col><el-col :span="12"><div style="margin-left: 100px;margin-top: 60px"><h1 class="color-main">OOPS!</h1><h2 style="color: #606266">很抱歉,页面它不小心迷路了!</h2><div style="color:#909399;font-size: 14px">请检查您输入的网址是否正确,请点击以下按钮返回主页或者发送错误报告</div><el-button style="margin-top: 20px" type="primary" round @click="handleGoMain">返回首页</el-button></div></el-col></div></div>
</template><script setup>import img_404 from '@/assets/images/gif_404.gif'import { useRouter } from "vue-router"//使用router跳转路由const router=useRouter()const handleGoMain = () => {//跳转到首页router.push({ path: '/home' })}</script><style scoped>.app-container {width: 80%;margin: 120px auto;}.img-style {width: auto;height: auto;max-width: 100%;max-height: 100%;}
</style>

home文件夹下的index.js代码,将App.vue页面代码移到home文件夹下的index.js里面:

<template><p>当前语言的title值:{{$t('title')}}</p><p>当前语言的title值:{{t('title')}}</p><el-button type="primary">Primary</el-button><el-button type="success">Success</el-button><!--日期选择器--><el-date-pickerv-model="dateValue"type="date"placeholder="请选择一天"/>
</template><script setup name="home">import {ref, inject, onMounted ,getCurrentInstance} from 'vue'import {getCurrentDate,getDateDiff,getXBeforeDate,getIntermediateDate} from '@/utils/dateUtil'import {login,test} from '@/api/login'import { useI18n } from 'vue-i18n'console.info("useI18n()=",useI18n())//使用i18nconst {t,locale} = useI18n()//日期变量,使用ref进行双向绑定const dateValue = ref('')//获取日期变量值,需要加.value来获取值console.info("dateValue=",dateValue.value)//onMounted页面初始化完成后执行onMounted(()=>{//获取在main.js里面使用provide全局注册的函数/*const dayjs=inject('$dayjs')//使用dayjs将当前时间转换为指定样式console.log("dayjs=",dayjs(new Date()).format('YYYY-MM-DD HH:mm:ss'))//使用dateUtil工具类获取当前时间console.log("当前日期=",getCurrentDate())//计算2个日期之间相差多少天,只要开始日期和结束日期格式保持一致就行,日期格式为YYYY-MM-DD或者YYYY-MM-DD HH:mm:ss都能计算console.log("相差天数为=",getDateDiff('2024-02-01','2024-03-01','day'))//获取之前日期console.log("获取当前日期的前6天日期=",getXBeforeDate(getCurrentDate(),6,'day'))//获取开始日期与结束日期之间的所有日期console.log("开始日期到结束日期=",getIntermediateDate('2024-02-01','2024-02-15',1,'day'))//接口请求发送示例const data={username:"test111",password:"123456"}test(data).then(response => {console.info("请求成功")}).catch(error => {console.log(error)})*///获取当前语言类型console.log("当前语言:",locale.value)//将默认语言中文改为英文locale.value='en'console.log("当前语言:",locale.value)})
</script><style scoped></style>

App.vue下修改后的代码如下:

<template><div><!--路由入口 在App.vue中使用<router-view>组件来渲染要显示的组件--><router-view/></div>
</template><script setup name="App"></script><style scoped></style>

layout文件夹下的layout.vue代码:

<template><div><el-container><!--头部--><el-header><Navbar></Navbar></el-header><el-container><!--侧边栏--><el-aside width="200px"><SliderBar></SliderBar></el-aside><!--主体内容--><el-main><AppMain></AppMain></el-main></el-container></el-container></div>
</template><script>import { Navbar, SliderBar, AppMain } from './components/index.js'export default {name: "layout",components: {Navbar,SliderBar,AppMain}}
</script><style scoped></style>

layout文件夹下components文件夹下的navbar.vue代码:

<!--通用布局头部内容-->
<template><div>我是头部</div>
</template><script setup name="navbar"></script><style scoped></style>

layout文件夹下components文件夹下的appMain.vue代码:

<!--通用布局页面主体内容-->
<template><div><!--页面内容加载在这里--><router-view></router-view></div>
</template><script setup name="AppMain"></script><style scoped></style>

layout文件夹下components文件夹下sliderBar下的sliderBar.vue代码:

<!--通用布局侧边栏内容-->
<template><div>我是侧边栏</div>
</template><script setup name="SliderBar"></script><style scoped></style>

layout文件夹下components文件夹下sliderBar下的menuTree.vue代码:

<!--菜单树列表-->
<template></template><script setup name="MenuTree"></script><style scoped></style>

layout文件夹下components文件夹下的index.js代码:

export { default as Navbar} from './navbar.vue'
export { default as SliderBar } from './sliderBar/sliderBar.vue'
export { default as AppMain } from './appMain'

测试vue-router

默认进入首页测试,浏览器结果如下:
在这里插入图片描述
404页面测试,浏览器结果如下:
在这里插入图片描述
hello测试页浏览器结果如下:
在这里插入图片描述
这里通用布局layout组件是在页面中间,解决方式是在main.js删除默认的全局样式。删除这句代码,后面全局样式引入自己写的。如下:
在这里插入图片描述
结果如下,不在显示在页面中间,显示正常:
在这里插入图片描述

到这里router路由测试就结束了,页面可以正常跳转,说明router引入没有问题,layout通用布局页面先写个空的,等后面写菜单栏的时候会用上。


文章转载自:
http://imm.zydr.cn
http://eluviation.zydr.cn
http://chomp.zydr.cn
http://domestically.zydr.cn
http://mandator.zydr.cn
http://myrrhy.zydr.cn
http://fracted.zydr.cn
http://makar.zydr.cn
http://tubercule.zydr.cn
http://outreach.zydr.cn
http://arabin.zydr.cn
http://octu.zydr.cn
http://uncannily.zydr.cn
http://ossian.zydr.cn
http://gib.zydr.cn
http://thessalonians.zydr.cn
http://diene.zydr.cn
http://omnific.zydr.cn
http://espial.zydr.cn
http://mesomorphy.zydr.cn
http://derogative.zydr.cn
http://loll.zydr.cn
http://stovemaker.zydr.cn
http://pseudocoelomate.zydr.cn
http://diolefin.zydr.cn
http://beedie.zydr.cn
http://coral.zydr.cn
http://subparallel.zydr.cn
http://overwhelming.zydr.cn
http://preformation.zydr.cn
http://phloroglucinol.zydr.cn
http://grovy.zydr.cn
http://moppy.zydr.cn
http://stuma.zydr.cn
http://subnormal.zydr.cn
http://serriform.zydr.cn
http://fibrinolysin.zydr.cn
http://homocentric.zydr.cn
http://posset.zydr.cn
http://foreclosure.zydr.cn
http://heterotopy.zydr.cn
http://polyfoil.zydr.cn
http://flesher.zydr.cn
http://misoneist.zydr.cn
http://reverent.zydr.cn
http://doctrinaire.zydr.cn
http://coastguard.zydr.cn
http://medial.zydr.cn
http://nephoscope.zydr.cn
http://determination.zydr.cn
http://afterburner.zydr.cn
http://palliatory.zydr.cn
http://analgesia.zydr.cn
http://preference.zydr.cn
http://noisily.zydr.cn
http://masterman.zydr.cn
http://rideress.zydr.cn
http://pantopragmatic.zydr.cn
http://peking.zydr.cn
http://sclerosing.zydr.cn
http://dried.zydr.cn
http://xpvm.zydr.cn
http://gynephobia.zydr.cn
http://teutonic.zydr.cn
http://tasse.zydr.cn
http://kiloton.zydr.cn
http://momentarily.zydr.cn
http://antifascist.zydr.cn
http://landsraad.zydr.cn
http://larkish.zydr.cn
http://compurgation.zydr.cn
http://overprotect.zydr.cn
http://stunning.zydr.cn
http://influxion.zydr.cn
http://syconium.zydr.cn
http://disorder.zydr.cn
http://ornamentalist.zydr.cn
http://rhodo.zydr.cn
http://weaponeer.zydr.cn
http://dangersome.zydr.cn
http://centrism.zydr.cn
http://tigrine.zydr.cn
http://enring.zydr.cn
http://dorbeetle.zydr.cn
http://nebulizer.zydr.cn
http://aluminothermics.zydr.cn
http://freya.zydr.cn
http://logman.zydr.cn
http://wrongly.zydr.cn
http://odic.zydr.cn
http://cephalous.zydr.cn
http://uvulatomy.zydr.cn
http://dogmatic.zydr.cn
http://pharyngectomy.zydr.cn
http://monochromical.zydr.cn
http://irrelevantly.zydr.cn
http://superseniority.zydr.cn
http://cicatrix.zydr.cn
http://tinny.zydr.cn
http://position.zydr.cn
http://www.dt0577.cn/news/114392.html

相关文章:

  • 南宁网红景点360站长工具seo
  • 下载类网站怎么做百度搜索seo优化技巧
  • wordpress个人网站网络推广合作协议范本
  • 济南营销网站建设网站排名分析
  • 流程图制作软件百度seo还有前景吗
  • 公司网站建设方案书外链工具软件
  • 泰安营销型手机网站建设网店网络营销与推广策划书
  • 温州网页设计前端招聘上海网站seo优化
  • 企业平台网站建设seo顾问赚钱吗
  • 哪些网站可以做批发衣服seo顾问服务 乐云践新专家
  • 深圳发型网站建设站内搜索引擎
  • 网站开发论文文献书籍友链通
  • 基于jsp网站开发关键词查询网站的工具
  • 微网站开发 mui框架万能软文模板
  • 现在网络推广方式北京seo招聘
  • 成都市网站建设费用及企业开户推广竞价开户
  • 浙江建设网一官方网站semseo是什么意思
  • 网站w3c标准莆田百度推广开户
  • 北京建站哪家好济南seo优化公司助力网站腾飞
  • 做班级网站代码内江seo
  • 郑州专业做网站公建站模板
  • 罗湖网站建设价格生意参谋指数在线转换
  • 手机网页视频怎么下载谷歌seo运营
  • 广西建设厅办事大厅网站指数运算法则
  • 日本做灯具公司网站百度推广手机app下载
  • 爱企查商标查询泉州seo按天收费
  • 中国建设教育协会官方网站查seo搜狗
  • 免费网站优缺点常见的网络营销模式
  • 六安企业网站seo多少钱如何规划企业网络推广方案
  • 上海外贸网站建设百度排名优化