中页面基础布局的开发本文我们将完成页面基础布局的开发。下面给大家展示一下我们本文实现的界面,如下图所示:首先在components文件夹下创建10个文件夹,分别是:2048、llk、maze、mine、pintu、snake、sudoku、tetris、wzq、xxk;然后,创建一个index.js文件;然后,在刚刚创建的10个文件夹中分别创建一个Index.vue文件。文件内容类似于下面的代码,其中2048是所属文件夹的名称。此代码只是一个占位符,稍后将被我们实际可玩的游戏所取代。2048
现在,我们在components文件夹下的index.js文件中写入下面的代码很简单,童鞋们看得懂吗?我喜欢在JS中使用文档注释。文档注释可以让编辑器的语法提示更加智能,写代码不容易出错。对文档注释不熟悉的童鞋可以在头条搜索jsdoc学习文档注释的语法;下面的文档评论都添加了说明,希望童鞋们能够看懂。/***@typedefGame定义了一个类型,我们称之为游戏类型*@property{string}name声明了一个属性名,游戏的名字*@property{import('vue').AsyncComponentLoader}component异步组件loader*//**@type{object.}声明类型为对象类型,属性名称为字符串,值为游戏类型*/exportconstgameMap={2048:{name:'2048',component:()=>import('./2048/Index.vue')},llk:{name:'连连看',component:()=>import('./llk/Index.vue')},maze:{name:'走出迷宫',component:()=>import('./maze/Index.vue')},mine:{name:'Minesweeper',component:()=>import('./mine/Index.vue')},pintu:{name:'puzzle',component:()=>import('./pintu/Index.vue')},snake:{name:'snake',component:()=>import('./snake/Index.vue')},sudoku:{name:'Sudoku',component:()=>import('./sudoku/Index.vue')},tetris:{name:'Tetris',component:()=>import('./tetris/Index.vue')},wzq:{name:'五子棋',组件:()=>import('./wzq/Index.vue')},xxk:{name:'小小看',component:()=>import('./xxk/Index.vue')}}/***@param{string}id声明一个参数:游戏ID*@returns{游戏}声明返回值类型:game*/exportconstgetGame=id=>gameMap[id]现在,我们在src文件夹下创建一个文件夹layouts,用来存放布局组件,我们在这个文件夹下创建一个Main。vue文件,该组件定义了2个props:title用于定义头部显示的标题,hasBack用于定义是否包含返回按钮,我们在main标签下定义了一个slot插槽,用于渲染游戏;本系列教程重点介绍JS部分,HTML和CSS比较简单,我假装童鞋看得懂,就不讲了;文件源代码如下:{{title}}