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

ArkTS基础实验 (二)

任务一使用模板字符串相关知识,实现多个变量的拼接。同学们可以把自己的姓名、年纪和爱好这三个变量进行拼接。把代码和日志中console.log的打印结果截图保留。

预期效果:

任务二:使用状态变量和点击事件相关知识实现计数器案例,购物车的计数器可以通过点击按钮使得计数的数值增大或减少。

参考资料:50-计数器案例_哔哩哔哩_bilibili

预期效果:

任务三:美团购物车

需求分析:

商品区域:数字框 + -

底部结算:联动计算 并 渲染展示

① 已选件数

② 总价格

③ 优惠价格

参考资料:55-综合案例-美团购物车_哔哩哔哩_bilibili

预期效果:

核心思路:

1.提取状态:数量、原价、现价

2.界面绑定

3.点击修改数据,自动更新

实验过程:
// 定义变量
let name = "张三";
let age = 18;
let hobby = "打篮球";// 使用模板字符串拼接
let result = `${name}今年${age}岁,爱好是${hobby}。`;// 打印结果
console.log(result);@Entry
@Component
struct Index {@State count: number = 1build() {Row() {Button('-').onClick(() => {this.count = this.count-1})Text(this.count.toString()).margin(10)Button('+').onClick(() => {this.count = this.count + 1})}.padding(20)}
}@Entry
@Component
struct Index {// 核心思路:// 1. 提取状态: 数量, 原价, 现价// 2. 结合状态渲染// 3. 修改状态, 界面自动更新@State count: number = 5@State oldPrice: number = 40.4@State newPrice: number = 10.4build() {Column() {Column() {// 产品Row({ space: 10}){// 图片Image($r('app.media.img')).width(100).borderRadius(8)// 文字Column({space: 10}) {Column({ space: 6}) {Text('冲销量1000ml缤纷八果水果捞').lineHeight(20).fontSize(14)Text('含1份折扣商品').fontSize(12).fontColor('#7f7f7f')}.width('100%').alignItems(HorizontalAlign.Start)Row(){// 价格Row({ space: 5}) {Text() {Span('¥').fontSize(14)Span(this.newPrice.toFixed(2)).fontSize(18)}.fontColor('#ff4000')Text() {Span('¥')Span(this.oldPrice.toFixed(2))}.fontSize(14).fontColor('#999').decoration({type: TextDecorationType.LineThrough, color: '#999'})}// 加减Row() {Text('-').width(22).height(22).border({width:1, color: '#e1e1e1', radius: {topLeft: 5, bottomLeft: 5}}).textAlign(TextAlign.Center).fontWeight(700).onClick(() => {// this.count = this.count - 1// 让状态变量,在原有数据的基础上自减1this.count--})Text(this.count.toString()).height(22).border({width: { top:1, bottom: 1 }, color: '#e1e1e1'}).padding({left: 10, right: 10}).fontSize

http://www.xdnf.cn/news/194977.html

相关文章:

  • 数字人Live_Talking的搭建和使用
  • OpenResty深度解析:从卓伊凡的”隐形主流”论看其深度原理与应用生态-卓伊凡
  • 深入理解java线程池
  • stm32 阻塞式延时 与 非阻塞式延时
  • “数字驱动·智建未来——2025河北省建筑电气与智能化技术交流大会”
  • 【ACL系列论文写作指北14-科研心态与抗压管理】-走得远,比走得快更重要
  • 不同参数大小的DeepSeekR1模型对Java中new FileInputStream(“test.txt“).seek(100);语法错误的检查
  • 学习笔记:Qlib 量化投资平台框架 — MAIN COMPONENTS (Part I)
  • XrayR启动失败
  • 架构进阶:详解108页系统架构设计与详细设计知识讲座【附全文阅读】
  • 品融电商:全域电商代运营的领航者,驱动品牌长效增长
  • 第四章:Messaging and Memory
  • C语言中的指针详解
  • RSS‘25|CMU提出统一空中操作框架:以末端执行器为中心,无人机实现高精度遥操作
  • Cursor + Figma-Context-MCP ,让 Cursor 获取 Figma 设计图信息,实现 AI 生成页面的高度还原
  • 力扣面试150题--K 个一组翻转链表
  • 机器人--激光雷达
  • ESG跨境电商怎么样?esg跨境电商有哪些功用?
  • 阅读MySQL实战45讲第11天
  • uniapp打包apk如何实现版本更新
  • Spring MVC异常处理利器:深入理解HandlerExceptionResolver
  • SpringBoot实现接口防刷的5种高效方案详解
  • C#/.NET/.NET Core技术前沿周刊 | 第 36 期(2025年4.21-4.27)
  • AudioSet 音频中文类别
  • 蚂蚁seo蜘蛛池:提升网站收录的秘密武器
  • Nacos源码—1.Nacos服务注册发现分析二
  • 系统思考提升培训效能
  • 100天精通Python挑战总览 | 零基础到应用实战!
  • 安徽地区安全员A证考试中,哪些知识点是高频考点?
  • mysql8.0版本部署+日志清理+rsync备份策略