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

日常练习另一部分

上次我的练习是使用vue3进行的前端训练,我上一个博客简单实现了使用路由的单页面跳转,他的好处的所有页面一起加载,并且只使用一个main和app.vue,我又在原有的基础上尝试了多页面跳转。
about.html

<!DOCTYPE html>
<html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1.0"><title>关于我们 - Vue多页面应用</title><link rel="stylesheet" href="<%= BASE_URL %>css/common.css"></head><body><noscript><strong>请启用JavaScript以正常使用此应用</strong></noscript><div id="about-app"></div></body>
</html>

App.vue

<template><div class="container about-page"><div class="content"><h1>关于我们</h1><p>这是一个独立的关于页面,展示了多页面应用的能力。您可以通过下方按钮返回首页。</p><div class="button-container"><button class="btn"@click="goToHome">返回首页</button><button class="btn" @click="learnMore">了解更多</button></div></div></div>
</template><script>
export default {name: 'AboutPage',mounted() {this.animateContainer();},methods: {goToHome() {this.addLoadingToButton('.btn:first-child');setTimeout(() => {window.location.href = 'index.html#/';}, 500);},learnMore() {alert('这是关于页的一个功能按钮');},addLoadingToButton(selector) {const btn = document.querySelector(selector);if (btn) btn.classList.add('loading');},animateContainer() {const container = document.querySelector('.container');if (!container) return;container.style.opacity = '0';container.style.transform = 'translateY(20px)';setTimeout(() => {container.style.transition = 'opacity 0.5s, transform 0.5s';container.style.opacity = '1';container.style.transform = 'translateY(0)';}, 100);}}
}
</script>

main.js

import { createApp } from 'vue'
import App from './App.vue'createApp(App).mount('#about-app')

home.html

<!DOCTYPE html>
<html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1.0"><title>首页 - Vue多页面应用</title><link rel="stylesheet" href="<%= BASE_URL %>css/common.css"></head><body><noscript><strong>请启用JavaScript以正常使用此应用</strong></noscript><div id="app"></div></body>
</html>

App.vue

<template><!-- 添加根容器确保正确挂载 --><div id="app"><div class="container"><div class="content"><!-- 添加错误边界处理 --><router-view v-slot="{ Component, route }"><transition name="fade" mode="out-in"><div v-if="route.matched.length"><component :is="Component" /></div><div v-else class="error-view"><h2>页面未找到</h2><p>请求的路径 "{{ route.path }}" 不存在</p><button @click="goHome">返回首页</button></div></transition></router-view></div></div></div>
</template><script>
export default {name: 'App',methods: {goHome() {// 确保使用正确的首页路径this.$router.push({ name: 'home' });}}
}
</script>

main.js

import { createApp } from 'vue'
import App from './App.vue'
import router from './router'createApp(App).use(router).mount('#app')

css文件不赘述,效果如下:
image
点击返回首页就是我上个练习的界面,点击了解更多则是我的一个另小功能测试,也不用赘述。

http://www.sczhlp.com/news/125681/

相关文章:

  • 每天一个安卓测试开发小知识之 (六)---常用的adb 命令第四期
  • SAP-ABAP中STOP,EXIT,CHECK,RETURN,CONTINUE,LEAVE,REJECT的区别
  • 龙岩市城乡建设局网站进不去免费制作手机网页
  • 百度商桥代码怎么添加到网站手机购物网站建设
  • 天津 公司网站建设镇海网站建设
  • 有关网站开发的知识wordpress主题安装怎么更换内容
  • mvc中手把手做网站黑龙江省城乡和住房建设厅网站
  • word超链接网站怎么做seo 优化思路
  • 企业网站开发框架网站开发网上接单
  • 做纸棋的网站南平市建设局网站
  • 江苏茂盛建设有限公司网站搜索引擎是如何判断网站的结构
  • 如何注册属于自己的网站永久免费企业网站建设
  • 视频融合平台EasyCVR国标GB28181视频诊断功能详解与实践
  • Refit Consul
  • 哈尔滨设计网站建设常州的做网站的公司排名
  • 大学网站建设多少钱专做废旧电子电路板配件回收的网站
  • 网页设计 站点网站建设技术方面
  • 织梦网站广告代码如何写免费空间推荐
  • 网站设计规划范文深圳专业网站建设服务
  • 做企业网站需要做什么品牌建设公司排名
  • 武冈网站建设哪家好专业餐饮vi设计公司
  • 本地网站asp iiswordpress判断自定义页面
  • 故障处理:Oracle 19.20未知BUG导致oraagent进程内存泄漏的案例处理
  • 麒麟服务器操作系统查询可用的内核版本以及安装和降级命令
  • esp32 stm32 ros2 三者区别
  • 20250406_信安一把梭_测试篇
  • 快速微信网站开发长沙企业网站建设团队
  • 建筑工程网站建站方案怎么创建小程序卖东西
  • 做cpa一定要有网站关于室内设计的网站有哪些
  • 陕西省建设厅网站ca验证失败做英文网站 赚美元