版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目1初探HarmonyOS与开发环境-创建第一个鸿蒙应用项目选择题1、HarmonyOS的设计理念是?()A.单一设备操作B.多设备协同C.仅支持手机D.仅供企业使用2、鸿蒙操作系统实现“多设备融为一体”体验的核心技术是?(A.安卓兼容技术B.分布式技术C.单一内核技术D.云存储技术3、以下不属于DevEcoStudio特点的是()A.仅支持Java编程语言B.支持可视化开发C.内置模拟器D.提供丰富的模板与示例4、安装DevEcoStudio前,以下哪项是确保软件正常运行的核心前置条件?()A.提前安装好微信客户端B.安装对应版本的JDK(JavaDevelopmentKit)C.格式化电脑磁盘D.关闭所有浏览器进程5、在ArkTS工程目录中,承载应用核心代码、资源,是应用启动“入口点”的默认主模块是()A..ideaB.AppScopeC.entryD.test6、鸿蒙操作系统的核心理念是“______”,旨在实现不同设备间的无缝协同。()A.万物相通B.智慧互联C.万物互联D.智能互通答案:B、B、A、B、C、C判断题1、鸿蒙操作系统采用的分布式技术,可将多个物理上分离的设备融合成一个逻辑上的“超级终端”。()2、应用框架层为HarmonyOS的应用程序提供了Java/C/C++/JS等多语言的用户程序框架和Ability框架。()3、DevEcoStudio的模拟器仅支持手机设备模拟。()4、HarmonyOSSDK需要额外下载配置才能在DevEcoStudio中使用。()答案:对、对、错、错填空题1、鸿蒙的“______”机制,能让应用在不同设备间无缝流转,比如视频通话可从手机切换到平板,过程不中断。2、HarmonyOS驱动框架(HDF)是HarmonyOS硬件生态开放的基础,提供统一______和驱动开发、管理框架。3、在DevEcoStudio安装过程中,可通过“浏览(B)...”按钮指定______,默认安装于C:\ProgramFiles路径下答案:1、应用流转;2、外设访问能力;3、安装路径;简答题简述DevEcoStudio中可视化开发的优势。答案:(1).支持拖拽式UI设计,开发者无需手动编写大量UI布局代码,通过拖拽组件即可快速构建界面,降低开发难度。(2).能实时预览界面效果,开发者在设计界面过程中可即时查看界面呈现效果,便于及时调整布局和样式,提高开发效率。(3).提供HarmonyOS原生组件,开发者可直接使用这些经过优化的原生组件,保证界面的兼容性和美观性,减少因组件适配问题带来的麻烦。项目2夯实ArkTS语言核心基础-实现个人基本信息输出选择题1、ArkTS是基于以下哪种语言扩展而来的。()A.JavaB.TypeScriptC.C++D.JavaScript2、以下属于ArkTS核心特性的有。()A.静态类型检查B.命令式UIC.响应式状态管理D.面向鸿蒙分布式能力的语法支持3、ArkTS继承TypeScript的特性,能在编译期确定变量类型,减少运行时错误,这体现了其哪项核心特性。()A.声明式UIB.静态类型检查C.响应式状态管理D.轻量高效4、在ArkTS中,开发者通过@State装饰器标记变量后,变量值变化时UI会自动更新,这依赖的核心特性是。()A.面向鸿蒙分布式能力的语法支持B.声明式UIC.响应式状态管理D.静态类5、在ArkTS中,用于声明变量且变量值可以修改的关键字是。()A.ConstB.letC.varD.Static6、在ArkTS中,下列变量声明中属于联合类型的是。()A.letnum:number=25;B.letstr:string="HarmonyOS";C.letdata:string|number;D.letisFlag:boolean=true;7、下列关于ArkTS中enum类型的说法,错误的是。()A.enum类型是预先定义的一组命名值的类型B.枚举常量默认从0开始递增赋值C.枚举常量使用时无需以枚举类型名称为前缀D.可手动指定枚举常量的具体值8、在ArkTS中,下列运算符中属于逻辑运算符的是。()A.+B.&&C.%D.=9、在ArkTS中,下列关于“==”和“===”运算符的说法,正确的是。()A.“==”会严格匹配值和类型B.“===”会忽略类型,仅比较值C.“10”==10的结果为trueD.“10”===10的结果为true10、在ArkTS中,下列关于switch-case语句的说法,错误的是。()A.case分支后可省略break语句,但会导致“穿透”执行B.default分支可选,用于处理所有case不匹配的情况C.switch后的表达式只能是number类型D.case后的“值”需与表达式的类型一致11、在ArkTS中,用于定义接口的关键字是。()A.ClassB.interfaceC.functionD.Type12、下列关于ArkTS接口的说法,正确的是。()A.接口可包含方法的具体实现代码B.实现接口的对象可省略接口中定义的属性C.接口可作为函数参数类型,约束参数结构D.接口不能被类实现,仅能用于约束对象13、在ArkTS中,下列关于函数声明的语法,正确的是。()A.functionadd(a:number,b:number){returna+b}B.funcadd(a:number,b:number):number{returna+b}C.functionadd(a:number,b:number):number{returna+b}D.functionadd(a,b:number):number{returna+b}14、在ArkTS中,下列代码执行后输出结果为()functionmultiply(a:number,b:number=2):number{returna*b;}console.log(multiply(3));A.3B.5C.6D.报错15、下列关于ArkTS类中构造函数的说法,正确的是()A.一个类可以定义多个不同参数的构造函数B.构造函数通过constructor关键字定义C.构造函数必须有返回值D.实例化类时不能向构造函数传递参数答案:1-5:B、D、B、C、B;6-10:C、C、B 、C、C11-15:B、C、C、C、B判断题1、ArkTS仅能满足手机、平板等设备的高性能需求,无法适配智能手表、家电等轻量化设备。()2、ArkTS中的@State装饰器不能实现数据与UI的自动绑定。()3、ArkTS的声明式UI需开发者手动操作DOM来更新界面,通过build()方法描述UI结构即可实现界面渲染。()4、在ArkTS中,当一个变量或常量的声明包含了初始值,开发者必须显式指定其类型。()5、在ArkTS中,数组声明“letfruits:Array<string>=["苹果","香蕉"]”与“letfruits:string[]=["苹果","香蕉"]”表示的含义和用法完全一致。()6、在ArkTS中,for...of循环可直接遍历数组的索引,无需通过数组长度间接获取。()7、在ArkTS中,接口可继承其他接口,实现接口功能的扩展与复用。()答案:错、错、错、错、对;错、对填空题1、在ArkTS的number类型中,______表示“非数字”,通常在无效数值运算中产生,且它不等于任何值,包括自身。2、在ArkTS的循环控制语句中,______循环会先执行一次循环体,再判断循环条件,因此至少会执行一次循环体。3、在ArkTS中,若函数不需要返回任何值,其返回值类型应声明为_____。4、、在ArkTS中,用于定义类的关键字是。答案:1、NaN;2、do-while;3、void;4、class;简答题1、简述ArkTS声明式UI的特点及优势。答案:ArkTS声明式UI的特点是引入@Component、@Entry等装饰器,支持用声明式语法描述UI布局,开发者只需关注UI应该呈现的样子,无需手动操作DOM去控制UI元素的创建、更新和删除。其优势主要有:一是代码更直观,通过清晰的语法结构就能了解UI的组成和布局,便于理解和维护;二是开发效率大幅提升,开发者无需编写复杂的DOM操作代码,能快速构建UI界面,减少开发时间和工作量。项目3组件使用与页面跳转-实现用户登录与注册页面布局选择题1、下列选项中,不属于ArkTS内置组件的是()A.TextB.ButtonC.CustomComponentD.Image2、下列关于组件事件的描述,正确的是。()A.事件仅用于展示组件外观,不处理用户交互B.点击、滑动等用户操作可通过事件回调函数响应C.组件事件需通过@State装饰器绑定才能生效D.内置组件不支持自定义事件逻辑3、下列关于width属性单位的描述,错误的是。()A.省略单位时,默认单位为vp(虚拟像素)B.px(像素)单位会根据设备屏幕密度自动缩放,适配不同设备C.百分比单位(如70%)表示组件尺寸为父容器对应尺寸的70%D.auto值表示组件尺寸自适应内部内容大小4、用于设置组件内部子组件与组件边框之间距离的属性是。()A.MarginB.paddingC.spaceD.height5、下列关于space属性的说法,正确的是。()A.space是所有组件都具备的通用属性B.space仅用于控制布局容器(如Row、Column)内相邻子组件的间距C.space需为每个子组件单独设置,无法统一控制间距D.space的单位只能是vp,不支持sp或百分比6、下列组件中,用于实现垂直方向排列子组件的线性布局组件是。()A.ColumnB.RowC.StackD.Flex7、要使Column组件的justifyContent属性生效,必须满足的前提条件是。()A.子组件数量不少于3个B.设置alignItems属性为CenterC.Column组件有明确的高度D.子组件均设置固定宽度8、下列关于Row组件justifyContent属性的描述,错误的是。()A.FlexAlign.Start表示子组件靠容器左侧排列B.FlexAlign.SpaceBetween表示子组件两端对齐,中间间距均匀C.FlexAlign.Center表示子组件在水平方向居中排列D.FlexAlign.SpaceAround表示子组件与容器边缘、子组件之间的间距均相等9、Row组件的alignItems属性用于控制子组件在哪个方向的对齐方式。()A.主轴(水平方向)B.交叉轴(垂直方向)C.垂直方向(主轴)D.水平方向(交叉轴)10、层叠布局中,后添加到Stack组件的子组件会()A.被前添加的组件覆盖B.覆盖前添加的组件C.与前添加的组件并排排列D.自动换行排列11、Stack组件的alignItems属性默认值是。()A.FlexAlign.StartB.FlexAlign.CenterC.FlexAlign.EndD.FlexAlign.SpaceBetween12、若要让Flex组件内的子组件在主轴方向超出容器时自动换行,需将flexWrap属性设置为。()A.FlexWrap.NoWrapB.FlexWrap.WrapC.FlexWrap.WrapReverseD.FlexWrap.Auto13、下列关于Flex组件alignItems属性的描述,正确的是。()A.仅控制子组件在主轴方向的对齐方式B.FlexAlign.Stretch表示子组件保持原有尺寸,不拉伸C.FlexAlign.Center表示子组件在交叉轴方向居中对齐D.无法与justifyContent属性同时使用答案:1-5:B、B、B、B、B;6-10:A、C、D、B、B11-15:A、B、D、判断题1、自定义组件需通过@Component装饰器定义,且可通过组合内置组件或其他自定义组件实现特定功能,具备可复用性。()2、margin属性用于控制组件内部子组件与边框的距离,padding属性用于控制组件与相邻组件的外部间距,二者作用范围完全相反。()3、Stack组件的justifyContent属性对其子组件的层叠效果影响显著,是控制子组件分布的核心属性。()4、Flex组件结合了Column和Row组件的特性,可通过flexDirection属性灵活切换子组件的排列方向(水平或垂直)。()5、Grid组件的alignContent属性用于控制单个GridItem子项在网格单元中的对齐方式。()6、TextInput组件的onSubmit事件在用户输入内容变化时触发,可用于实时获取输入值。()7、Button组件必须嵌套在Column或Row布局容器中才能正常显示和使用。()8、目标页面可通过router.getParams()方法获取跳转时携带的params参数。()答案:对、错、错、对、错、错、对、对填空题1、、若要让Button组件与相邻组件的上下间距为20vp、左右间距为30vp,可通过margin属性设置:Button('示例').margin({top:20,bottom:20,left:30,________:30})。2、使用Stack组件实现“图片+文字水印”效果时,应先添加______组件,再添加文本组件,确保文字覆盖在图片上方,而非先添加______、______。3、TextInput组件中,用于绑定输入框当前文本内容的属性是______。4、在Button组件中,用于设置点击事件处理函数的属性是______。答案:1、right;2、ImageTextButton;3、Text;4、onClick;简答题1、请简述ArkTS中组件的分类及核心区别。2、请简述ArkTS中router.pushUrl()与router.replaceUrl()两种页面跳转方法的核心区别。答案:1、ArkTS中的组件分为内置组件和自定义组件两类。核心区别在于:内置组件是框架预定义的基础UI单元(如Text、Button、Image等),可直接调用无需额外定义;自定义组件是开发者通过组合内置组件或其他自定义组件封装的可复用模块,需通过@Component装饰器声明,具备特定功能和独立逻辑。2、router.pushUrl()与router.replaceUrl()的核心区别:router.pushUrl():将目标页面压入页面栈,不替换当前页面。跳转后当前页面状态被保留,用户可通过router.back()或返回键返回到当前页(如从列表页跳转到详情页,支持返回列表页);router.replaceUrl():用目标页面替换当前页面,当前页面从页面栈中移除。跳转后用户无法返回原页面(如登录成功后跳转首页,避免返回登录页)。编程题利用学到的页面布局和基本组件,使用DevEcoStudio编写一个“个人信息录入与展示”页面。页页面分为“输入区”和“展示区”两部分,整体结构如下:顶部标题“个人信息录入”(Text组件,加粗、字号24);头像展示(Image组件,圆形、尺寸100vp×100vp,可使用网络或本地图片);输入区:3个TextInput组件(姓名、年龄、职业,分别显示提示文本);分隔线(Text组件,背景色灰色,高度1vp,宽度80%);展示区:3个文本项,分别显示“姓名:XXX”“年龄:XXX”“职业:XXX”(默认显示“未填写”);保存按钮(Button组件,宽度80%、圆角15vp、背景色蓝色);功能要求:输入框输入内容与状态变量双向绑定;点击“保存”按钮后,展示区实时更新为输入框中的内容;未输入时,展示区显示“未填写”,输入后显示实际内容。答案:参考答案(步骤+完整代码)步骤1:明确技术栈与核心逻辑技术依赖:Column布局、Text/TextInput/Button/Image基础组件、@State状态绑定;核心逻辑:用@State变量存储输入的个人信息,输入框通过双向绑定同步数据,点击保存按钮后,展示区直接渲染状态变量的值(因双向绑定特性,输入时状态已同步,保存按钮作为确认交互)。步骤2:搭建页面结构定义3个@State状态变量,分别存储姓名、年龄、职业;用Column布局分区域排列组件:标题→头像→输入区→分隔线→展示区→保存按钮;输入区的TextInput组件通过text:$$this.变量名实现双向绑定;展示区的Text组件绑定状态变量,未输入时显示“未填写”;为保存按钮绑定onClick事件(可添加简单交互反馈,如控制台打印“保存成功”)。完整代码:PersonalInfoPage.etstypescript运行@Entry@ComponentstructPersonalInfoPage{//定义状态变量,存储输入的个人信息(默认空字符串)@StateuserName:string='';@StateuserAge:string='';@StateuserJob:string='';build(){Column({space:20}){//垂直布局,子组件间距20vp//1.页面标题Text('个人信息录入').fontSize(24).fontWeight(FontWeight.Bold).margin({top:25}).alignSelf(ItemAlign.Center)//2.头像展示Image('/it/u=1022347589,1106887837&fm=3028&app=3028&f=JPEG&fmt=auto?w=960&h=1280').width(100).height(100).borderRadius(50)//圆形头像.objectFit(ImageFit.Cover).alignSelf(ItemAlign.Center)//3.输入区:姓名输入框TextInput({placeholder:'请输入姓名',text:$$this.userName}).width('80%').height(45).backgroundColor('#F5F5F5').borderRadius(12).padding({left:18}).fontSize(16)//输入区:年龄输入框(仅允许输入数字)TextInput({placeholder:'请输入年龄',text:$$this.userAge}).width('80%').height(45).backgroundColor('#F5F5F5').borderRadius(12).padding({left:18}).fontSize(16).type(InputType.Number)//输入区:职业输入框TextInput({placeholder:'请输入职业',text:$$this.userJob}).width('80%').height(45).backgroundColor('#F5F5F5').borderRadius(12).padding({left:18}).fontSize(16)//4.分隔线Text().width('80%').height(1).backgroundColor('#EEEEEE').margin({top:10})//5.展示区标题Text('已保存信息').fontSize(18).fontWeight(FontWeight.Medium).color('#666666').margin({top:10}).alignSelf(ItemAlign.Center)//展示区:姓名展示Text(`姓名:${this.userName||'未填写'}`).fontSize(17).color('#333333').marginTop(8)//展示区:年龄展示Text(`年龄:${this.userAge||'未填写'}`).fontSize(17).color('#333333')//展示区:职业展示Text(`职业:${this.userJob||'未填写'}`).fontSize(17).color('#333333')//6.保存按钮(占满剩余垂直空间下方,通过flexGrow实现)Button('保存信息').width('80%').height(48).backgroundColor('#1890FF').fontColor(Color.White).fontSize(18).borderRadius(15).margin({bottom:30}).flexGrow(1).alignSelf(ItemAlign.Center).justifyContent(FlexAlign.End).onClick(()=>{//交互反馈:控制台打印保存成功console.log('个人信息保存成功!');//因TextInput已双向绑定,无需额外赋值,展示区自动更新})}.width('100%').height('100%').backgroundColor('#F9F9F9').padding(15)}}项目4运用页面切换与自定义组件-实现主页面布局效果选择题1、下列方法中,用于跳转到新页面且保留当前页面(支持返回)的是。()A.router.replaceB.router.pushC.router.backD.router.replaceUrl2、以下关于Swiper组件属性的描述,正确的是。()A.vertical属性默认值为true,即默认纵向滑动B.autoPlay属性默认值为true,即默认自动轮播C.loop属性默认值为true,即默认循环播放D.interval属性默认值为400ms3、Tabs组件的页面组成包含哪两个部分。()A.TabHeader和TabBodyB.TabContent和TabBarC.TabTitle和TabContentD.TabNav和TabContent4、Tabs组件中,若要设置标签栏位于顶部,应将barPosition参数设置为。()A.BarPosition.TopB.BarPosition.BottomC.BarPosition.StartD.BarPosition5、对于Tabs组件参数的描述,错误的是。()A.index参数用于设置初始激活的Tab页索引B.scrollable参数设为true时,允许Tab栏横向滚动C.vertical参数默认值为true,即默认垂直布局D.barPosition参数用于控制Tab6、在鸿蒙开发中,关于自定义组件命名规则的说法,正确的是。()A.可使用保留关键字作为组件名称B.名称无需具有描述性,简洁即可C.应遵循驼峰命名法,例如MyCustomButtonD.命名格式无要求,开发者可随意定义7、若需向鸿蒙自定义组件传递数据,应通过哪种方式定义组件属性。()A.使用@Event装饰器B.使用@Prop装饰器C.直接在组件内定义普通变量D.使用@State装饰器8、在鸿蒙开发中,若要导出一个自定义组件,应使用哪个关键字。()A.exportB.importC.moduleD.component9、在需要使用自定义组件的页面中,导入组件时正确的语法是。()A.include{MyComponent}from'./path';B.import{MyComponent}from'./path';C.require{MyComponent}from'./path';D.use{MyComponent}from'./path';10、在页面的哪个方法中可以直接调用已导入的自定义组件。()A.onInit()B.aboutToAppear()C.build()D.onDestroy()11、在鸿蒙组件生命周期的创建阶段,主要用于初始化数据和状态的方法是。()A.onReady()B.onInit()C.onShow()D.onDestroy()12、当鸿蒙组件的状态发生变化时,会触发哪个生命周期方法以执行状态更新后的操作。()A.onStateChange()B.build()C.onReady()D.onDestroy()答案:1-5:B、C、B、C、C;6-10:C、B、A、B、C11-15:B、A;判断题1、Swiper组件的onChange事件在点击当前页时触发,返回当前索引。()2、Swiper组件的子组件可以直接使用基础组件(如Text、Image),无需包裹在SwiperItem中。()3、Tabs组件的barPosition属性默认值为BarPosition.Start,即导航栏位于顶部。()4、自定义组件的命名需遵循驼峰命名法,且不能使用保留关键字。()5、组件生命周期的onDestroy方法在组件挂载到DOM之后调用,用于处理界面显示相关操作。()答案:错;错、对、对、错填空题1、Tabs组件基本布局中,外层、中间层、内层的嵌套结构依次为______>Tabs>多个TabContent。2、按照官方建议,自定义组件应放在项目的____目录下。3、Swiper组件中控制是否自动轮播的属性是______,其默认值为______。4、Tabs组件的页面组成包含两个核心部分,分别是用于展示内容的______和用于导航的______。5、自定义组件需要对外暴露供其他页面使用时,需通过______关键字进行导出。6、组件生命周期的创建阶段中,用于初始化数据和状态的方法是______。答案:1、Column;2、ets/components3、autoPlay;false4、TabContent;TabBar5、export6、onInit简答题1、请列举Swiper组件实现“自动轮播、循环播放、显示页面指示器”功能所需的关键属性,并说明每个属性的作用。2、请简述自定义组件从创建到在其他页面调用的完整流程(包含组件导出、导入、调用的核心步骤)。答案:1、关键属性及作用如下:autoPlay:控制是否自动轮播,设置为true时启用自动轮播;loop:控制是否循环播放,默认值为true,启用后轮播到最后一页会自动跳转至第一页;indicator:控制是否显示页面指示器,默认值为true,显示当前页面索引对应的指示器圆点。2、自定义组件的创建与调用流程:创建自定义组件:在ets/components目录下新建ArkTS文件,使用@Component装饰器声明组件,编写build方法定义界面结构,按需通过@Prop定义属性、@Event定义事件;导出组件:在自定义组件结构前添加export关键字,使其可被其他页面导入(如@ComponentexportstructMyCustomComponent{});导入组件:在需要使用该组件的页面中,通过import语句导入组件(如import{MyCustomComponent}from'../components/MyCustomComponent');调用组件:在页面的build方法中,直接使用导入的组件名称调用,按需传递属性参数(如MyCustomComponent({text:'自定义文本'}))。编程题要求基于Swiper组件实现招聘海报轮播功能,包含3张轮播图:需要封装自定义组件BannerItem,接收imageUrl(图片地址)和title(海报标题)参数,用于展示单张轮播项;轮播功能要求:自动轮播(间隔3秒)、循环播放;显示页面指示器(圆点样式);滑动切换时在控制台打印当前轮播索引;点击轮播项时在控制台打印当前海报标题;布局要求:轮播图宽度占满屏幕,高度固定为200vp,指示器位于轮播图底部中央。答案:参考答案(步骤+完整代码)步骤1:明确技术栈与目录结构技术依赖:Swiper页面切换组件、自定义组件(@Component+export)、组件属性传递;目录结构:plaintextpages/└─BannerSwiperPage.ets(轮播页面)components/└─BannerItem.ets(自定义轮播项组件)步骤2:封装自定义组件BannerItem定义组件属性(imageUrl和title),用于接收外部传递的图片地址和标题;组件内部用Stack层叠布局:Image组件展示图片,Text组件展示标题(位于图片底部居中);导出组件,供轮播页面导入使用。步骤3:编写轮播页面BannerSwiperPage导入自定义组件BannerItem;定义轮播数据数组(包含3组图片地址和标题);使用Swiper组件包裹BannerItem,通过循环渲染(ForEach)生成轮播项;配置Swiper组件属性(自动轮播、循环、指示器等);绑定Swiper的onChange事件(打印索引)和BannerItem的点击事件(打印标题)。完整代码1.自定义组件:BannerItem.ets(components目录下)typescript运行@ComponentexportstructBannerItem{//定义组件属性,接收外部传递的参数privateimageUrl:string='';//图片地址privatetitle:string='';//海报标题build(){//层叠布局:图片+标题(标题在图片底部)Stack(){//轮播图片Image(this.imageUrl).width('100%').height('100%').objectFit(ImageFit.Cover)//图片铺满容器,保持比例//海报标题(底部居中)Text(this.title).fontSize(18).fontColor(Color.White).fontWeight(FontWeight.Medium).backgroundColor('rgba(0,0,0,0.5)')//半透明背景.width('100%').textAlign(TextAlign.Center).padding(10).alignSelf(ItemAlign.End)//对齐到容器底部}.width('100%').height('100%').borderRadius(10)//轮播项圆角}}2.轮播页面:BannerSwiperPage.ets(pages目录下)typescript运行import{BannerItem}from'../components/BannerItem';//导入自定义组件@Entry@ComponentstructBannerSwiperPage{//定义轮播数据:3张招聘海报的图片地址和标题privatebannerData=[{imageUrl:'/it/u=3455456789,123456789&fm=253&fmt=auto?w=600&h=400',title:'2025春季校园招聘-技术岗专场'},{imageUrl:'/it/u=123456789,987654321&fm=253&fmt=auto?w=600&h=400',title:'高薪急聘-鸿蒙应用开发工程师'},{imageUrl:'/it/u=456789012,321654987&fm=253&fmt=auto?w=600&h=400',title:'职场晋升训练营-免费报名中'}];build(){Column(){//页面标题Text('招聘海报轮播').fontSize(22).fontWeight(FontWeight.Bold).margin({top:20,bottom:15}).alignSelf(ItemAlign.Center)//轮播组件(Swiper)Swiper(){//循环渲染轮播项:遍历bannerData,生成BannerItemForEach(this.bannerData,(item,index)=>{//自定义组件:传递imageUrl和title参数BannerItem({imageUrl:item.imageUrl,title:item.title}).onClick(()=>{//点击轮播项,打印当前海报标题console.log(`点击了轮播项:${item.title}`);});},(item)=>item.title//键函数:用标题作为唯一标识)}.width('90%')//轮播图宽度占屏幕90%.height(200)//固定高度200vp.autoPlay(true)//启用自动轮播.interval(3000)//自动轮播间隔3秒.loop(true)//启用循环播放.indicator(true)//显示页面指示器.indicatorStyle({size:8,//指示器圆点大小color:'#CCCCCC',//未选中颜色selectedColor:'#1890FF',//选中颜色bottom:15//指示器距离轮播图底部的距离}).onChange((index)=>{//滑动切换时,打印当前轮播索引(从0开始)console.log(`当前轮播索引:${index}`);})}.width('100%').height('100%').backgroundColor('#F9F9F9')}}项目5页面渲染与网络编程-实现主页面轮播及公告通知功能选择题1、ArkTS中实现“根据条件控制组件显示/隐藏”的渲染方式是。()A.静态渲染B.条件渲染C.循环渲染D.动态渲染2、ForEach循环渲染中,用于为每个生成的组件提供唯一标识的是。()A.第一个参数B.第二个回调函数C.第三个键函数D.index参数3、List组件的子组件不能是以下哪种类型。()A.ListItemB.ListItemGroupC.ColumnD.嵌套的ListItemGroup4、实现父子组件双向状态绑定的装饰器是。()A.@StateB.@PropC.@LinkD.@Provide5、鸿蒙应用中,用于跨层级组件状态共享的装饰器组合是。()A.@State+@LinkB.@Provide+@ConsumeC.@Prop+@EventD.@State+@Prop6、HTTP请求中,用于“向服务器提交数据”且参数放在请求体中的方法是。()A.GETB.POSTC.PUTD.DELETE7、Scroll组件的默认滚动方向是。()A.水平B.垂直C.双向D.无默认方向8、以下哪个装饰器用于定义组件内部的私有响应式状态?()A.@LinkB.@StateC.@ProvideD.@Consume9、鸿蒙应用发起网络请求前,需在配置文件中添加的权限是。()A.ohos.permission.NETWORKB.ohos.permission.INTERNETC.ohos.permission.HTTPD.ohos.permission.REQUEST10、List组件中,用于设置多列布局(瀑布流)的属性是。()A.listDirectionB.dividerC.lanesD.cachedCount答案:1-5:B、C、C、C、B;6-10:B、B、B、B、C判断题1、静态渲染的UI结构在运行过程中会随数据变化而更新。()2、ForEach的第三个键函数是可选的,用于帮助框架高效更新组件。()3、@Prop装饰器支持子组件反向修改父组件的源数据。()4、List组件的子组件可以直接使用Text、Image等基础组件,无需包裹在ListItem中。()5、鸿蒙HTTP网络请求完成后,无需销毁请求对象,框架会自动回收
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年企业培训顾问合同三篇
- 秋冬健康养生指南
- 市场拓展职业规划书
- 学生宿舍违规电器危害警示教育
- 测试工装广告宣传合作合同
- 企业流程自动流转方案
- 2026年环境保护事业单位招考《环境监测》考试冲刺卷
- 2025-2026学年下学期2026年6月高一数学期末高频考点
- 挑战运营面试题及答案
- 体育试题基本知识及答案
- 2024年安徽省初中(八年级)学业水平考试初二会考地理试卷真题
- DL-T863-2016汽轮机启动调试导则
- GB/T 1835-2023系列1集装箱角件技术要求
- 陋室铭经典中考试题及标准答案
- 江苏师范大学成人继续教育网络课程《英语》单元测试及参考答案
- 河北省石家庄市新华区2022-2023学年六年级下学期期末数学试卷
- 北京科技大学经济与管理考试及答案B
- 小学语文人教五年级下册第一单元四时田园杂兴 市一等奖
- GB/T 6405-2017超硬磨料立方氮化硼品种
- GB/T 31125-2014胶粘带初粘性试验方法环形法
- GA 423-2015警用防弹盾牌
评论
0/150
提交评论