当前位置: 首页 > 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

相关文章:

  • 20250428-AI Agent:智能体的演进与未来
  • About why docker application mode taskmanager not down in time
  • 大数据应用开发和项目实战
  • Android Studio 中使用 SQLite 数据库开发完整指南(Kotlin版本)
  • 聊天室系统:多任务版TCP服务端程序开发详细代码解释
  • 机器学习分类模型性能评估:应对类别不平衡的策略与指标
  • ArcGIS arcpy代码工具——根据属性结构表创建shape图层
  • 基于STM32、HAL库的ATSHA204A安全验证及加密芯片驱动程序设计
  • RAG工程-基于LangChain 实现 Advanced RAG(预检索优化)
  • 代码随想录第30天:动态规划3
  • vue3 css模拟语音通话不同语音、正在加载等的效果
  • 《Operating System Concepts》阅读笔记:p821-p897
  • C++——入门基础
  • C++学习笔记(四十二)——STL之堆操作算法
  • 嵌入式程序发开思路
  • IntelliJ IDEA 内存优化
  • 数据中心平台建设方案技术方案(Word)
  • 制作一款打飞机游戏28:编辑器完善鲁棒性
  • 回归预测 | Matlab实现DBO-LightGBM蜣螂算法优化轻量级梯度提升机多输入单输出回归预测,作者:机器学习之心
  • 在使用Python的Selenium库打卡网页后,通过CDP命令获取所有cookies(包括Httponly和Secure的cookies)
  • 流浪猫给车主造成困扰,长春一小区拟投药应对?律师:此举欠妥
  • 马上评|“AI神医宇宙”欺诈,连演员都不请了
  • 全球前瞻|王毅赴巴西出席金砖外长会,加拿大迎来“几十年来最重要大选”
  • 人民日报:应对外贸行业风险挑战,稳企业就是稳就业
  • 美国政府将暂时恢复部分受影响留学生的合法身份,并将制订新标准
  • 亚振家居控制权将变更:济南域潇集团实控人成新控股股东