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

临朐网站建设价格淘宝站外引流推广方法

临朐网站建设价格,淘宝站外引流推广方法,wordpress 超商取货,记账代理公司注册一、知识点总结 1. MVVM模式核心 架构定义:将应用分为Model(数据与业务逻辑)、View(界面展示)、ViewModel(数据与界面桥梁)三层,通过状态变量驱动UI自动更新。关键角色&#xff1a…

一、知识点总结

1. MVVM模式核心
  • 架构定义:将应用分为Model(数据与业务逻辑)、View(界面展示)、ViewModel(数据与界面桥梁)三层,通过状态变量驱动UI自动更新。
  • 关键角色
    • Model:存储数据(如TodoData类的planList),不直接操作UI。
    • View:展示UI(如页面组件、业务组件),通过绑定ViewModel数据更新。
    • ViewModel:管理状态(如@State变量),处理交互逻辑,同步Model与View。
  • 状态管理装饰器
    • @State:声明组件内状态变量,变化时触发UI刷新(如@State isFinished: boolean = false)。
    • @Prop:父子组件单向传递,子组件深拷贝数据,不影响父组件。
    • @Link:父子组件双向绑定,数据变化同步更新。
    • @Observed:修饰类以生成响应式数据,用于Model层(如@Observed class TodoData)。
2. 备忘录开发实战
  • 组件拆分
    • 父组件(Index):组合子组件,管理全局状态(如planList数组)。
    • 子组件(TodoComponent、AllChooseComponent等):通过@Prop/@Link接收状态,封装UI逻辑。
  • 循环渲染:使用ForEach遍历数组生成组件(如ForEach(this.planList, (item) => {...})。
  • 代码优化
    • @Builder方法:复用UI片段(如displayIcon方法封装图标显示)。
    • MVVM重构:按Model/ViewModel/View分层,提升代码可维护性。
3. ArkTS开发案例
  • 水仙花数:通过取余和整除获取各位数字,判断三次方和是否等于原数。
  • 九九乘法表:双层for循环生成二维数组,日志输出结果。
  • 回文字符串:双指针法对比首尾字符(如ij分别指向首尾)。
  • 字符串反转:逆序遍历字符串拼接。
  • 闰年判断:根据年份与4、400的整除关系判断。

二、思维导图

在这里插入图片描述

三、模拟考试题

1. 单选题(10题×3分=30分)
  1. MVVM模式中负责UI展示的是( )
    A. Model
    B. View
    C. ViewModel
    D. State
    答案:B

  2. 以下装饰器中用于父子组件双向绑定的是( )
    A. @State
    B. @Prop
    C. @Link
    D. @Observed
    答案:C

  3. 循环渲染数组应使用的组件是( )
    A. ForEach
    B. For
    C. While
    D. List
    答案:A

  4. @Builder方法的主要作用是( )
    A. 声明状态变量
    B. 复用UI片段
    C. 定义Model数据
    D. 处理网络请求
    答案:B

  5. 水仙花数的判断条件是( )
    A. 各位数字平方和等于原数
    B. 各位数字三次方和等于原数
    C. 各位数字和等于原数
    D. 原数能被3整除
    答案:B

  6. 闰年的判断逻辑正确的是( )
    A. 能被4整除
    B. 能被4整除且不能被100整除,或能被400整除
    C. 能被100整除
    D. 能被400整除
    答案:B

  7. MVVM架构中View不能直接访问( )
    A. ViewModel
    B. Model
    C. 父组件
    D. 子组件
    答案:B

  8. @Observed装饰器的作用是( )
    A. 声明组件内状态
    B. 生成响应式数据类
    C. 定义组件样式
    D. 处理事件回调
    答案:B

  9. 字符串反转的正确实现方式是( )
    A. 使用reverse()方法
    B. 逆序遍历拼接
    C. 双指针交换
    D. 正则表达式替换
    答案:B

  10. 九九乘法表的实现需要( )
    A. 单层循环
    B. 双层循环
    C. 三层循环
    D. 递归调用
    答案:B

2. 判断题(10题×1分=10分)
  1. @State装饰的变量变化时会自动刷新UI。( )
    答案:√

  2. Model层可以直接操作View层组件。( )
    答案:×(需通过ViewModel)

  3. @Prop装饰的参数支持父子组件双向同步。( )
    答案:×(单向传递)

  4. ForEach组件必须指定唯一标识。( )
    答案:√

  5. 水仙花数是指三位数中各位数字三次方和等于原数的数。( )
    答案:√

  6. MVVM重构后,View层可以直接访问Model层数据。( )
    答案:×(需通过ViewModel)

  7. 闰年判断中,能被400整除的年份一定是闰年。( )
    答案:√

  8. @Builder方法不能在组件外调用。( )
    答案:√

  9. 字符串反转只能通过循环实现。( )
    答案:×(也可使用数组reverse)

  10. ViewModel层负责处理业务逻辑和数据同步。( )
    答案:√

3. 简答题(4题×5分=20分)
  1. 简述MVVM模式的三层架构及职责。
    参考答案

    • Model:存储数据与业务逻辑,不直接操作UI;
    • View:展示界面,通过绑定ViewModel数据更新;
    • ViewModel:作为桥梁,管理状态变量,同步Model与View,处理交互逻辑。
  2. 说明@State、@Prop、@Link的区别。
    参考答案

    • @State:组件内状态变量,变化时刷新UI;
    • @Prop:父子组件单向传递,子组件深拷贝数据;
    • @Link:父子组件双向绑定,数据变化同步更新。
  3. 简述使用ForEach进行循环渲染的步骤。
    参考答案

    • 定义数组数据源(如@State planList: string[]);
    • 在build()中使用ForEach遍历数组,生成组件;
    • 提供唯一标识(如(item) => item)避免渲染错误。
  4. 写出闰年判断的逻辑条件。
    参考答案
    年份能被4整除且不能被100整除,或者能被400整除,即(year % 4 === 0 && year % 100 !== 0) || (year % 400 === 0)

4. 程序填空题(2题×10分=20分)

题目1:补全@Link装饰器实现双向绑定。

@Component
struct ChildComponent {@Link isChecked: boolean;build() {Checkbox({ checked: this.isChecked }).onChange((value) => {this.isChecked = ______; // 补全双向绑定})}
}

答案value

题目2:补全水仙花数判断逻辑。

export function daffodilsNumber(): number[] {const result: number[] = [];for (let i = 100; i < 1000; i++) {const a1 = i % 10;         // 个位const a2 = Math.floor(i % 100 / 10); // 十位const a3 = ______;         // 百位if (a1*a1*a1 + a2*a2*a2 + a3*a3*a3 === i) {result.push(i);}}return result;
}

答案Math.floor(i / 100)

5. 编程题(2题×10分=20分)

题目1:使用@State和ForEach实现待办事项列表,点击事项标记完成(添加删除线)。
参考代码

@Entry
@Component
struct TodoList {@State tasks: string[] = ['吃饭', '学习', '运动'];@State isFinished: boolean[] = [false, false, false];build() {Column() {Text('待办事项').fontSize(24).fontWeight(700);ForEach(this.tasks, (task, index) => {Row() {Text(task).fontSize(20).decoration({type: this.isFinished[index] ? TextDecorationType.LineThrough : TextDecorationType.None})Button('完成').onClick(() => {this.isFinished[index] = !this.isFinished[index];})}.width('90%').margin(5)}, (task) => task);}.width('100%').padding(10);}
}

题目2:实现回文字符串判断函数,使用双指针法。
参考代码

export function isPalindrome(str: string): boolean {let left = 0;let right = str.length - 1;while (left < right) {if (str.charAt(left) !== str.charAt(right)) {return false;}left++;right--;}return true;
}

评分要点:双指针初始化、循环对比、正确返回布尔值。

http://www.dtcms.com/wzjs/141251.html

相关文章:

  • 建设网站的费用做网络推广怎么收费
  • 免费网站成本ai智能营销系统
  • 网站 建立目录出错it培训机构排名前十
  • 和17做网店一样的货源网站怎么样做推广
  • 建立装修网站设计如何制作自己的网站教程
  • 沙洋网站定制怎么提高关键词搜索排名
  • 建设网站重庆网站如何推广运营
  • 网站建设开公司现在好做吗成都品牌推广
  • 企业设计网站系统网页搜索引擎优化技术
  • 网站制作实例教程北京网站优化排名推广
  • wordpress 分类小工具重庆seo务
  • 国外的电商网站有哪些网络营销服务
  • 网红网站建设百度竞价推广计划
  • 奉贤网站开发站长工具网
  • 成都建站哪家好病毒式营销案例
  • discuz 企业网站 模板seosem是什么职位
  • 中国疫情最新政策网站seo快速排名优化的软件
  • 制作网站建设的最近一周新闻大事
  • 设计logo网站免费下载河南网站关键词优化代理
  • 微信电脑网站是什么原因百度官方网站下载
  • 网站优化报价北京优化互联网公司
  • 唐山做网站价格相关搜索优化软件
  • 微信的官方网站怎么做站长之家域名查询鹿少女
  • 怎么做网站转让机制 银行账户对接深圳市龙华区
  • 茶楼 网站营销宣传方式有哪些
  • asp后台怎么加载网站免费seo工具
  • 做网站去青鸟学什么专业百度推广账户优化
  • 网络做网站如何盈利企业网站建设cms
  • 响应网站和模板网站有哪些百度免费下载
  • 做移动网站优化排百度热搜高考大数据