首页 > 其他分享 >项目前端

项目前端

时间:2024-07-12 11:21:21浏览次数:10  
标签:vue name 项目 标签 前端 组件 import 执行

目录

vue组件

基础

  • 组件名两个大写字母
  • template,script,style(带上scoped,给该css加上随机字符串,不影响到其他组件)
  • 使用Bootstrap前端框架(将Bootstrappopperjs/core装到vue依赖)
    • import boostrap的css和js
    • QQ截图20231023101203
  • 组件写好后要导入vue文件中
    • js中import该组件
    • 放入components关键字,才能在HTML中使用该组件标签
    • 写入html中
    • image-20231023100655842

页面组件

  • 习惯性放在views文件夹中
  • 主界面一般叫Index,例如:PKIndexView.vue

组件与链接关联

  • 在主页(App.vue)中包含router-view,在router文件夹中的index定义它。

    • import需要的组件

    • routers中定义路径

    • QQ截图20231023110527
    • {
          path: "/",
          name: "home",
          redirect: "/pk/"  // 根地址重定向为pk目录
      },
      {
          path: "/:catchAll(.*)",
          redirect: "/404/"  // 错乱地址重定向为404
      }
      

按键绑定网址

  • navbar中修改link标签的href

  • QQ截图20231023111612
    • a标签(即link标签),换成router-link标签(href换成:to),实现点导航栏不刷新。

    • 也可以使用name来实现,例如:

      • :to="{name: 'home'}"
        

获取当前网页地址

  • import { useRoute } from 'vue-router'
    // 引入一个api:useRoute
    import { computed } from 'vue'
    // 实时计算用computed
    
    export default {
    	setup() {
    		const route = useRoute();
    		let route_name = computed(() => route.name)
    		return {
    			route_name
    		}
    	}
    }
    
  • 在html中使用表达式,需要在属性前加冒号":"

    • :class="route_name == 'pk_index' ? 'nav-link active' : 'nav-link'" 
      // 如果route_name (即当前地址名) == pk_index (即/pk/的name),则class中加active,否则不加
      

bootstrap常用

  • 公共部分作为一个新组件,需要填充的内容在

  • card:框框,框住页面信息,放到

    下,container自适应大小

  • 在 style中(CSS),修改边距等信息

    • 在需要修改的地方加class为xxx

    • 在style中写:div.xxx {}

      • 上边距:margin-top: 20px;
        

★实现地图以及地图刷新

  • 代码脚本放在assets中,创建文件夹scripts存放所有脚本,images
  • assets中写一个文件 AcGameObject.js,用于刷新
    • 把所有需要更新的游戏对象,存在数组内
    • 基类为AcGameObject
  • 前端浏览器函数:requestAnimationFrame(),用于在下一次浏览器渲染之前,执行其中函数。
    • 即第一帧调用requestAnimationFrame后,在下一帧会执行其中内容
    • QQ截图20231023165717
    • 递归来实现不停刷新:第一帧调用requestAnimationFrame后,在下一帧会执行step,执行step时 会再次调用requestAnimationFrame。

游戏基类

  • start()
  • update()
  • on_destroy(),删除之前执行
  • destroy()
  • 属性:
    • 是否调用
    • 时间间隔timedelta
    • 上一次执行的时刻last_timestep
    • 当前函数执行的时刻timestep
    • 速度
  • 在step()传入参数:当前函数执行的时刻,遍历所有物品,如果未执行start,则执行start。否则执行update
    • QQ截图20231023171654
    • QQ截图20231023171917
    • "of" 表示遍历值,"in" 遍历下标。
    • 最后更新last_timestep = timestep
    • 再次调用requestAnimationFrame,用于刷新

游戏对象

地图

assets/scripts下创建GameMap.js

import { AcGameObject } from "./AcGameObject.js"

如果要引进的类是export声明的,则import时需要大括号括起来

如果要引进的类是export default声明的,则不需要(export default 类似于 java里的public)

变量
  • 画布: ctx
  • 修改画布长宽: parent
  • 绝对单位长度: L
  • 行:rows
  • 列:cols
函数
  • start
  • update_size() // 用于动态更新地图尺寸
  • update
  • render() // 渲染函数,每一帧执行一次,即放在update里执行

★PK页面

  • 将游戏区域新建成组件:PlayGround.vue
  • 面板组件(游戏,结算,胜利等内容)GameMap.vue
    • 游戏画在canvas标签里(mdn中查标签作用)
  • 在PK页面import导入PlayGround:
    • QQ截图20231023210944
  • auto表示居中,margin表示四边距
    • QQ截图20231023211148
  • 在PlayGround.vue导入GameMap.vue
  • 在GameMap.vue导入GameMap.js中的类,创建游戏对象来实现类。
    • 导入ref来在vue中定义变量,并将变量与标签绑定
    • onMouted函数,即组件挂载完后,需要执行的操作
      • 创建游戏对象 new GameMap(xxxx)

标签:vue,name,项目,标签,前端,组件,import,执行
From: https://www.cnblogs.com/kwqlj/p/18297908

相关文章

  • Java怎么统计每个项目下的每个类别的数据
    为了演示如何在Java中统计每个项目下的每个类别的数据,我们可以考虑一个简单的场景:假设我们有一个电商系统,需要统计每个商品分类在每个店铺下的销售数量。这里我们将使用Java的集合框架,如HashMap和ArrayList,来存储和统计数据。1.使用Java的集合框架HashMap和ArrayList来存储和统计......
  • AI赚钱案例:AI绘画项目《动物时装秀》,抖音号14天粉丝增长11万
    0****1赚钱思路抖音号“陈导不挑食”通过AI绘画技术创作独特的《动物时装秀》内容,结合社交媒体平台的运营策略,实现粉丝快速增长和内容变现。适合人群:此项目适合对AI绘画和社交媒体营销感兴趣的个人或团队,尤其是那些希望在艺术创作和内容创作领域实现快速增长的创作......
  • 【项目实战】深入解析HTTP状态码:401 Unauthorized
    在网络通信过程中,HTTP状态码对于服务器和客户端之间的信息交流起着至关重要的作用。其中,401Unauthorized(未授权)是一个非常关键的状态码,它涉及到安全认证的方面。本文将详细介绍401状态码,分析其原因,并提供针对性的解决方案,以帮助开发者和用户更好地理解和处理这种情况。1.......
  • 【项目实战】深入解析HTTP状态码:405 Method Not Allowed
    HTTP状态码在网站和网络应用的开发中扮演着重要角色,其中405MethodNotAllowed是一种相对常见但有时会被误解的状态码。本文将详细解释405状态码的含义、发生的原因,并提供解决方法,以帮助开发者和网站管理员更好地处理这种情况。1.状态码简介405MethodNotAllowed是一......
  • 我是如何从零到成为 Apache 顶级项目的 Committer
    最近收到了ApachePulsar和ApacheHertzBeat社区的邀请邮件,成为了这两个项目的Committer。一路走来我从最开始的打游击战的闲散人员到如今活跃在各个开源项目里的“老兵”,用现在流行的话来说Apache的这两个Committer就相当于是拿到了编制,进入了正规军。下面就分享一下......
  • 在前端面试中被问到曾经遇到的具有挑战性的项目或者难点项目时?
    在前端面试中被问到曾经遇到的具有挑战性的项目或者难点项目时,你应该挑选那些能够展示你技术能力、解决问题能力以及适应复杂情况能力的项目来回答。这些项目应该符合以下几个条件:技术复杂度较高:选择一个在技术上给你带来挑战的项目,可能是因为使用了新技术栈,或者技术实现上遇到......
  • Nginx部署vue项目到本地windows
    部署1.将build生成的dist目录复制到nginx下的html目录中。 2.修改ningx里的ningx.conf文件,(解决404的那段代码可以不加)3.重启nginx,浏览器访问“ http://localhost:8080/ ”,即可。4.第二种:因为nginx可能会部署多个项目,针对不同项目增加配置是一种很正常的操作。(需要新增一......
  • 前端返回pdf时不显示内容,如何解决?
    ......
  • 前端必会原理--事件循环
    事件循环浏览器的进程模型何为进程?程序运行需要有它自己专属的内存空间,可以把这块内存空间简单的理解为进程每个应用至少有一个进程,进程之间相互独立,即使要通信,也需要双方同意。何为线程?有了进程后,就可以运行程序的代码了。运行代码的「人」称之为「线程」。一个进......
  • 370. 高端个人相册网站 大学生期末大作业 Web前端网页制作 html5+css+js
    目录一、网页概述二、网页文件 三、网页效果四、代码展示1.html2.CSS3.JS五、总结1.简洁实用2.使用方便3.整体性好4.形象突出5.交互式强六、更多推荐欢迎光临仙女的网页世界!这里有Web前端网页制作的各行各业的案例,样式齐全新颖,并持续更新!感谢CSDN,提供了这......