版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第13章前端框架实战·
基于Vue3.x的秒表程序的设计与实现主讲人:XX老师目录13.1前端框架简介13.2Vue3入门13.3基于Vue3的简易秒表的设计与实现13.1前端框架简介13.1.1什么是前端框架 13.1.2基础前端框架 13.1.3高级前端框架 13.1.1什么是前端框架前端框架这一概念最早是在建筑学领域被提及,它指的是一种可复用的设计构建。在Web开发领域,前端框架指的是一种基于HTML、CSS、JavaScript技术封装的工具套件,用于帮助开发者提高开发效率,快速搭建出Web页面和相关的交互事件。13.1.1什么是前端框架前端框架一般会事先封装好一些美观的UI组件(例如按钮、图标、下拉菜单等)或交互功能(例如元素隐藏/显示、动画效果、地址路由等),开发者无需从零开始编写繁琐的代码,直接通过调用的方式就可以快速复用前端框架内自带的组件和功能。掌握好前端框架,不仅可以大幅度降低开发周期也可以提高页面美观性。13.1.2基础前端框架 jQuery和Bootstrap是建议开发者可以了解和学习的轻量级基础前端框架,前者是网络上使用最广泛的函数库,后者是全球最受欢迎的前端组件库之一。13.1.2基础前端框架 1jQueryjQuery这个名称来源于JavaScript和Query(查询)的组合,是一个轻量级的跨平台JavaScript函数库,拥有MIT软件许可协议。目前主流浏览器基本上都支持jQuery。jQuery秉承“writeless,domore(写的更少,做的更多)”的核心理念,其语法能用让用户更方便地选取和操作HTML元素、处理各类事件、实现JavaScript特效与动画,并且能为不同类型的浏览器提供更便捷的API用于AJAX交互。jQuery也能让开发者基于JavaScript函数库开发新的插件。jQuery通用性和可扩展性相结合,它的出现将改变人们对JavaScript的使用方式。13.1.2基础前端框架 2BootstrapBootstrap是全球最受欢迎的前端组件库之一,适合用于开发响应式布局的Web项目,在移动设备端能带来更好的体验。其核心优势是响应式网格系统,在无需刷新页面的前提下动态变化布局排版以便自适应当前设备尺寸的效果。除此之外Bootstrap还封装了相当丰富的UI组件,例如表格、按钮、徽章、进度条、加载效果、分页、列表、卡片、下拉菜单、折叠、导航、轮播、消息弹窗、提示框、表单等,这些组件风格统一、简洁优雅,能快速提高开发者的页面美观性。13.1.3高级前端框架
如果希望掌握更高级的前端项目开发技能,可以进阶学习高级前端框架技术。
高级前端框架具备更加丰富的内置功能和工具,其组件化和代码复用机制能够有效提高开发效率,减少代码冗余现象和节约维护成本。
根据目前国内外的前端开发流行趋势来看,Vue、React和Angular被称为三大主流前端框架。13.1.3高级前端框架 1VueVue的发音类似于英文单词view,是中国开发者尤雨溪在2014年创建的一款用于高效、灵活构建用户界面的JavaScript框架。它基于HTML、CSS和JavaScript标准语法开发,并提供了一套声明式的、组件化的编程模型。其特色是可以用于搭建SPA(全称为SinglePageApplication,单页面应用程序)和复杂的用户界面。由于Vue是我国开发者创建的,因此在国内比另外这两个前端框架更受开发者青睐,具有更广泛的国内用户群体和大量的中文文档以及中文社区资源,国内开发者更够更有效地学习该框架。目前使用Vue开发的项目有:阿里巴巴、小米、饿了么、哔哩哔哩等。13.1.3高级前端框架 2ReactReact最初是由Facebook公司创建,在UI组件搭建方面具有更高的灵活性。该框架将原先的整体UI拆分为不同的组件,每个组件都设置了自己的状态和功能方法。就像可自由组合拼接的乐高积木一样,开发者可以根据实际需要拼接、拆卸UI组件来快速搭建Web应用,从而提高前端开发效率。React使用JSX作为开发语言,该语言是HTML和JavaScript的混合模式。React在全球范围内占有的市场份额较多,因此也具有庞大的社区支持,包含很多文档、教程和工具。目前使用React开发的项目有:Instagram、Netflix、Uber官网等。13.1.3高级前端框架 3AngularAngular诞生于2010年,第一版是由Google工程师MiskoHevery创建的,后被Google公司收购,成为其官方的前端开发框架,并转由Google开发团队进行维护和推广。Angular基于TypeScript语言开发,具有更好的类型安全性。其内部包含丰富的功能和工具,包括模板语法、表单验证、依赖注入等,开发者可以使用对应的模块来更高效地构建复杂的Web项目。该框架学习成本较高,更适用于大型项目,例如数据可视化应用、大规模复杂的应用项目、桌面应用程序等。目前使用Angular开发的项目有:NBA官网、Gmail邮箱、MicrosoftDynamics365等。13.2Vue3入门 13.2.1Vue3的安装 13.2.2第一个基于Vue3的应用13.2.1Vue3的安装Vue3有两种安装方式,开发者可以根据自己的实际情况任选一种。13.2.1Vue3的安装方法一:通过CDN引用开发者可以在网页文件中使用<script>标签来引用Vue3的CDN地址。以下是目前测试可用的CDN地址,开发者可以从中任选其一:字节跳动CDN:/cdn/expire-1-M/vue/3.2.31/vue.global.min.jsstaticfileCDN:/vue/3.0.5/vue.global.jsunpkgCDN:/vue@3/dist/vue.global.js13.2.1Vue3的安装方法一:通过CDN引用cont.以unpkgCDN为例,在网页文件中的引用示例代码如下:注:如果担心网络波动等原因,也可以将文件下载到本地后进行引用,效果完全一样。<scriptsrc="/vue@3/dist/vue.global.js"></script>13.2.1Vue3的安装方法一:通过CDN引用cont.例如本地目录为js,在网页文件中的引用示例代码如下:其中vue.global.js文件的名称可自行修改。<scriptsrc="js/vue.global.js"></script>13.2.1Vue3的安装方法二:通过npm或yarn安装目前已经支持使用npm或yarn命令安装官方的vue手脚架,语法如下:后续还需要录入项目名称,然后选一些配置选项来完成项目创建。#通过npm安装npmcreatevue@latest#通过yarn安装yarncreatevue@latest由于本章旨在Vue3入门学习,这里不推荐初学者使用命令行工具来创建项目,因此不再开展详细描述。下一节将直接在网页页面引入vue.global.js文件来进行简单的测试学习。13.2.2第一个基于Vue3的应用 创建项目结构编写段落文字Vue框架应用13.2.2第一个基于Vue3的应用 创建项目结构创建自定义名称的项目文件夹firstVueDemo,其内部创建子目录js用于存放文件vue.global.js(通过CDN下载到本地),并新建index.html作为入口文件。项目的目录结构如下:13.2.2第一个基于Vue3的应用 创建项目结构cont.index.html文件的初始代码如下:其中第5行的标题名称可以自定义;第6行是对vue.global.js文件的引用声明。<!DOCTYPEhtml><html><head><metacharset="utf-8"><title>我的第一个Vue项目</title><scriptsrc="js/vue.global.js"></script></head><body></body></html>13.2.2第一个基于Vue3的应用 2.编写段落文字在index.html的<body>与</body>标签之间声明一个<div>组件,并为其定义id属性,属性值可自定义,一般可以声明为id="app"表示Vue3框架开发的最外层容器。在<div>容器内使用段落元素<p>补充一些问候语,参考代码如下:…<body> <divid="app"> <p>HelloWorld!</p> </div></body>…13.2.2第一个基于Vue3的应用 2.编写段落文字cont.在浏览器中访问该网页文件,运行效果如下图所示。此时就是一个普通网页,实际尚未用到Vue3的相关功能。下一节我们将对该页面进行Vue框架改造,使其成为一个基于Vue3的应用页面。13.2.2第一个基于Vue3的应用 3.Vue框架应用-1)创建和挂载应用Vue3中使用createApp函数来创建应用,其语法格式如下:修改index.html,追加<script>标签进行创建应用声明,代码如下:constapp=Vue.createApp({/*选项*/}) …<body> <divid="app">…内容略…</div> <script>
constapp=Vue.createApp({}) </script> </body>…13.2.2第一个基于Vue3的应用 3.Vue框架应用-1)创建和挂载应用cont.Vue3中使用mount函数来挂载应用到页面模块上,其语法格式如下:其中#app指的是通过ID选择器找到网页上id="app"的组件,并将应用挂在到其中。app.mount('#app')13.2.2第一个基于Vue3的应用 3.Vue框架应用-1)创建和挂载应用cont.修改index.html文件,追加挂载应用语句,代码如下: …<body> <divid="app">…内容略…</div> <script> constapp=Vue.createApp({}) app.mount("#app") </script> </body>…此时应用就挂载好了,下一节将介绍Vue3的模板语法——数据动态绑定。13.2.2第一个基于Vue3的应用 3.Vue框架应用-2)数据动态绑定Vue3使用基于HTML的模板语法将数据实例绑定到组件上,使得用JavaScript操作数据时页面显示的内容可以动态变化。最基础的一种数据绑定形式叫做文本插值,在HTML文档中的静态文本可以改写成{{变量名}}的形式表示动态数据,例如:此时页面上不会显示msg这个词,而是会显示这个变量对应的值。<p>{{msg}}</p>13.2.2第一个基于Vue3的应用 3.Vue框架应用-2)数据动态绑定cont.需要声明的变量可以继续写到createApp函数内部,放在data()方法中。data()方法中允许包含一个或多个动态变量,其语法结构如下:constapp=Vue.createApp({ data(){return{
变量1:值1,变量2:值2,…变量N:值N}}})13.2.2第一个基于Vue3的应用 3.Vue框架应用-2)数据动态绑定cont.将index.html中的段落组件内的问候语句换成变量{{msg}},并在createApp函数的data()方法中补充对应的变量声明。 <body> <divid="app"> <p>{{msg}}</p> </div> <script> constapp=Vue.createApp({ data(){ return{ msg:"HelloVue!"//取值可自定义 } } }) app.mount("#app") </script> </body>13.2.2第一个基于Vue3的应用 3.Vue框架应用-2)数据动态绑定cont.在浏览器中访问该网页文件,运行效果如下图所示。此时虽然页面上看到同样的文字,但是已经变成动态渲染的结果了。开发者可以试着修改data()中的msg取值,保存后重新预览看页面是否发生变化。13.2.2第一个基于Vue3的应用 3.Vue框架应用-3)事件处理在Vue3中使用v-on指令来监听DOM事件,该指令也可以缩写为@符号。例如监听按钮的click单击事件,写法如下:以上两种写法均可,其中methodName可以换成需要执行的自定义函数名称。<buttonv-on:click="methodName">按钮</button>或<button@click="methodName">按钮</button>13.2.2第一个基于Vue3的应用 3.Vue框架应用-3)事件处理cont.自定义函数的具体内容可以继续写到createApp()函数内部,放在methods属性中。methods属性中允许包含一个或多个函数,其语法结构如下:constapp=Vue.createApp({ data(){…内容略…}, methods:{
自定义函数1(){…内容待补充…},
自定义函数2(){…内容待补充…},…
自定义函数N(){…内容待补充…} }})13.2.2第一个基于Vue3的应用 3.Vue框架应用-3)事件处理cont.不妨尝试修改index.html文件,追加带有监听click事件的按钮,当单击按钮时让问候文字发生变化,参考代码如下:<body> <divid="app"> <p>{{msg}}</p> <button@click="greeting">ClickMe</button> </div> <script> constapp=Vue.createApp({ data(){ return{ msg:"HelloVue!"//初始值 } }, methods:{ greeting(){ this.msg="HelloVue3!"//变更值 } } }) app.mount("#app") </script></body>13.2.2第一个基于Vue3的应用 3.Vue框架应用-3)事件处理cont.重新预览页面效果如下图所示。由图可见,原先显示的问候语是“HelloVue!”,单击按钮后显示的问候语就变成了“HelloVue3!”,说明按钮事件处理成功生效。此时就完成了一个最基础的Vue3项目,这种通过data()方法和methods属性的声明方式被称为Vue的选项式API。13.2.2第一个基于Vue3的应用 3.Vue框架应用-4)代码重构在Vue3中还有一种组合式API,这种方式更适合单页面应用。变量与函数的声明可以更加灵活。修改后的index.html代码如下: <body> <divid="app">…内容略…</div> <script> const{createApp,ref}=Vue createApp({ setup(){ constmsg=ref("HelloVue!"); constgreeting=()=>{ msg.value="HelloVue3!"; } return{ msg, greeting } } }).mount("#app") </script> </body>13.2.2第一个基于Vue3的应用 3.Vue框架应用-4)代码重构cont.
上述代码修改的内容总结如下:声明createApp和ref函数,后续使用时不再需要加Vue.前缀;去掉data()和methods属性,改成统一的setup()函数,将变量和函数都在其中声明;需要在页面上被调用的变量/函数都可以用const来进行声明,并统一在setup()函数的末尾return中登记;其他内部变量/函数可以用let或var声明,且无需写到return内。需要渲染在页面上的变量用ref()声明取值,用变量名.value修改值。直接用方法链把mount函数挂载到createApp函数后面。下一节将进入实战开发环节,基于Vue3制作一个简易秒表程序。13.3基于Vue3的简易秒表的设计与实现13.3.1创建项目结构 13.3.2页面设计 13.3.3逻辑实现 13.3.4完整代码展示(略,见书) 13.3.1创建项目结构 首先进行项目结构的创建。13.3.1创建项目结构 创建自定义名称的项目文件夹stopwatchDemo其内部创建子目录css和js,分别用于存放样式文件style.css(自行新建)和vue3文件vue.global.js(通过CDN下载到本地)目录结构如下:13.3.1创建项目结构 index.html文件的初始代码如下:<!DOCTYPEhtml><html> <head> <metacharset="utf-8"> <title>基于Vue3的简易秒表的设计与实现</title> <linkrel="stylesheet"href="css/style.css"/> <scriptsrc="js/vue.global.js"></script> </head> <body> </body></html>其中第5行的标题名称可以自定义;第6、7行分别是对样式文件style.css和vue.global.js文件的引用声明。13.3.2页面设计 整体布局设计时间展示区域设计按钮区域设计13.3.2页面设计 整体布局设计计划制作一个卡片式的应用,卡片内分为上下结构。上面是时间展示区域,用于显示当前秒表的读数文本;下面是按钮区域,用于显示复位、启动和停止按钮,其中左侧是复位按钮,右侧是启动/停止按钮彼此切换显示。13.3.2页面设计 整体布局设计cont.修改index.html,声明根容器<divid="app">,并在其中声明两个<div>子容器,其中class取值分别为timeBox和btnBox用于表示时间展示区域和按钮区域。参考代码如下: <body> <divid="app"> <!--时间展示区域--> <divclass="timeBox"></div> <!--按钮区域--> <divclass="btnBox"></div> </div> </body>13.3.2页面设计 整体布局设计cont.然后在style.css文件中声明容器样式,参考代码如下:/*根容器样式*/#app{ width:300px;/*宽*/ height:300px;/*高*/ margin:20pxauto;/*外边距上下20px,水平方向居中*/ padding:20px;/*内边距四个边均为20px*/ background-color:#333;/*背景颜色*/ display:flex;/*弹性布局*/ flex-direction:column;/*垂直布局*/ justify-content:space-around;/*垂直方向上均匀布局,两头的距离是中间的一半*/}13.3.2页面设计 整体布局设计cont.然后继续补充时间展示区域和按钮区域的样式,css代码如下:/*时间展示区域*/.timeBox{ width:100%;/*宽*/ height:60px;/*高*/ border:1pxsolidred;/*临时:1px红色边框*/}/*按钮区域*/.btnBox{ width:100%;/*宽*/ height:80px;/*高*/ border:1pxsolidred;/*临时:1px红色边框*/}为了方便观看两个子区域所在位置,这里第5、11行均使用border属性为其临时添加了1px粗细的实线红色边框,全部做完后可以去掉此行代码。13.3.2页面设计 整体布局设计cont.此时预览效果如图所示。13.3.2页面设计 2.时间展示区域设计在index.html中临时添加秒表数据,参考代码如下:<!DOCTYPEhtml><html> <head>…内容略…</head> <body> <divid="app"> <!--时间展示区域--> <divclass="timeBox">00:00.00</div> <!--按钮区域--> <divclass="btnBox"></div> </div> </body></html>这里临时用“00:00.00”表示0分0.00秒,小数点后精确到0.01秒。13.3.2页面设计 2.时间展示区域设计cont.在style.css中补充时间展示区域的样式,主要是设置字体大小和颜色,参考代码如下:/*时间展示区域*/.timeBox{ width:100%;/*宽*/ height:60px;/*高*/ border:1pxsolidred;/*临时:1px红色边框*/ color:white;/*文本颜色*/ font-size:40px;/*字体大小*/ text-align:center;/*水平方向居中*/}13.3.2页面设计 2.时间展示区域设计cont.预览效果如图所示。13.3.2页面设计 3.按钮区域设计在index.html中添加按钮,参考代码如下:<!DOCTYPEhtml><html> <head>…内容略…</head> <body> <divid="app"> <!--时间展示区域--> <divclass="timeBox">00:00.00</div> <!--按钮区域--> <divclass="btnBox"> <!--左边按钮--> <button>复位</button> <!--右边按钮--> <buttonclass="greenBtn">启动</button> <!--<buttonclass="redBtn">停止</button>--> </div> </div> </body></html>按钮需要一左一右显示,左边是“复位”按钮,右边是“启动”按钮和“停止”按钮二选一显示(页面初始显示“启动”按钮,单击“启动”按钮后秒表开始计时,此时显示“停止”按钮)。因此暂时注释掉“停止”按钮相关代码,先看页面初始效果。这里为右边两个按钮设置class属性分别为greenBtn和redBtn,后续将在css代码中补充为绿色主题和红色主题按钮样式。13.3.2页面设计 3.按钮区域设计cont.在style.css的按钮区域样式中补充弹性布局样式,参考代码如下:/*按钮区域*/.btnBox{ width:100%;/*宽*/ height:80px;/*高*/ border:1pxsolidred;/*临时:1px红色边框*/ display:flex;/*弹性布局(默认水平布局)*/ justify-content:space-between; /*两端对齐*/}13.3.2页面设计 3.按钮区域设计cont.在style.css中补充按钮的通用样式,参考代码如下:/*按钮通用样式*/button{ width:80px;/*宽*/ height:80px;/*高*/ border:none;/*去掉边框*/ border-radius:50%;/*圆角边框*/ cursor:pointer;/*鼠标为手状指针*/ font-size:20px;/*字体大小*/}13.3.2页面设计 3.按钮区域设计cont.在style.css中继续补充绿、红主题颜色按钮样式,参考代码如下:/*绿色主题按钮*/.greenBtn{ background-color:lightgreen;/*背景颜色浅绿*/ color:darkgreen;/*文本颜色深绿*/}/*红色主题按钮*/.redBtn{ background-color:pink;/*背景颜色粉红*/ color:darkred;/*文本颜色深红*/}此时样式代码就已经全部完成,可以把时间展示区域和按钮区域样式中的border属性全部去掉了。13.3.2页面设计 3.按钮区域设计cont.预览页面效果时由于需要考虑两种状态,可以分别注释掉“停止”按钮和“启动”按钮的相关HTML代码,每次只预览其中一个按钮的页面效果,最终预览效果如图所示。接下来就可以进行逻辑实现了,我们将使用Vue3框架应用来快速实现动态效果。13.3.3逻辑实现 创建和挂载应用动态绑定数据启动/停止按钮事件复位按钮事件13.3.3逻辑实现 创建和挂载应用修改index.html文件,追加<script>标签并在其中创建和挂载Vue3应用,代码如下:<!DOCTYPEhtml><html> <head>…内容略…</head> <body> <divid="app">…内容略…</div> <script> const{createApp,ref}=Vue createApp({ setup(){ //待补充 } }).mount("#app") </script> </body></html>这里我们使用setup()方法使代码更为简洁,等待后续补充变量和函数。13.3.3逻辑实现 动态绑定数据修改index.html文件,在createApp()函数中初始化一些变量值,参考代码如下:<!DOCTYPEhtml><html> <head>…内容略…</head> <body> <divid="app">…内容略…</div> <script> const{createApp,ref}=Vue createApp({ setup(){ //声明变量constformatTime=ref('00:00.00');//初始化时间展示 constisStart=ref(false);//秒表是否已启动 letcount=0;//当前时间统计(每0.01秒+1) lettimer=null;//JavaScript计时器
return{ //变量 formatTime, isStart } } }).mount("#app") </script> </body></html>这里只有formatTime和isStart变量需要动态绑定到页面上,因此使用const和ref()来进行声明,并放在了return内部;其余两个变量count和timer只需在<script>内部辅助使用,使用let或者var声明即可。13.3.3逻辑实现 动态绑定数据cont.修改HTML中的时间展示区域,将其中的时间数据"00:00.00"换成变量{{formatTime}};修改按钮区域中右侧两个按钮组件,使用v-if和v-else属性使它们根据秒表启动状态变量isStart的取值只显示其中一个。index.html代码修改如下:<!DOCTYPEhtml><html> <head>…内容略…</head> <body> <divid="app"> <!--时间展示区域--> <divclass="timeBox">{{formatTime}}
</div> <!--按钮区域--> <divclass="btnBox"> <!--左边按钮(…内容略…)--> <!--右边按钮--> <buttonv-if="!isStart"
class="greenBtn">启动</button> <buttonv-else
class="redBtn">停止</button> </div> </div> <script>…内容略…</script> </body></html>此时预览应该还是和原先效果相同,但实际上数据已经转化为动态渲染了。13.3.3逻辑实现 3.启动/停止按钮事件修改index.html代码,为右边的启动/停止按钮添加click监听事件,分别触发自定义函数start和stop。参考代码如下:<!DOCTYPEhtml><html> <head>…内容略…</head> <body> <divid="app"> <!--时间展示区域(…内容略…)--> <!--按钮区域--> <divclass="btnBox"> <!--左边按钮(…内容略…)--> <!--右边按钮--> <buttonv-if="!isStart"class="greenBtn"@click="start">启动</button> <buttonv-elseclass="redBtn"@click="stop">停止</button> </div> </div>见下页13.3.3逻辑实现 3.启动/停止按钮事件cont. <script> const{createApp,ref}=Vue createApp({ setup(){ //声明变量(…内容略…) //启动按钮事件 conststart=()=>{ isStart.value=true;//秒表已启动 //每隔0.01秒(10毫秒)执行一次 timer=setInterval(()=>{ count++;//每次计数器+1 letm=Math.floor(count/100/60);//计算分 lets=Math.floor(count/100-m*60); //计算秒 letms=count%100;//计算秒的2位小数 //如果数字是个位数,十位补0 if(m<10)m="0"+m; if(s<10)s="0"+s; if(ms<10)ms="0"+ms; //更新页面显示时间
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中职环境监测技术(监测方案)试题及答案
- 2025年高职旅游(旅游线路设计)试题及答案
- 2025年中职(美术教育)美术基础理论试题及答案
- 深度解析(2026)《GBT 18268.1-2010测量、控制和实验室用的电设备 电磁兼容性要求 第1部分:通 用要求》
- 深度解析(2026)《GBT 18032-2000砷化镓单晶AB微缺陷检验方法》
- 深度解析(2026)《GBT 17980.74-2004农药 田间药效试验准则(二) 第74部分杀虫剂防治棉花红蜘蛛》
- 深度解析(2026)《GBT 17770-1999集装箱 空陆水(联运)通 用集装箱技术要求和试验方法》
- 深度解析(2026)《GBT 17436-2025船舶危险区域防爆电气设备的选用》
- 制程品质管理之首件检验
- 龟虽寿课件教学课件
- 2025吐鲁番市高昌区招聘第二批警务辅助人员(165人)笔试考试参考试题及答案解析
- 面馆经营餐饮合同范本
- 江苏省徐州市2026届九年级上学期期末模拟数学试卷
- T∕CASSSP 0003-2025 高等学校重大科技基础设施项目文件归档与档案管理规范
- 泰国文化知识介绍
- 兴国县2025年招聘城市社区专职网格员【23人】备考题库带答案解析
- 护士年终总结总结
- 产后康复健康促进干预方案
- 2024年人民法院聘用书记员考试试题及答案
- 房屋中介佣金协议书
- 2025年高三英语口语模拟(附答案)
评论
0/150
提交评论