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

互联网风格网站深圳微信公众平台

互联网风格网站,深圳微信公众平台,wordpress仿小程序,公司注册网上申请网站​#x1f308;个人主页#xff1a;前端青山 #x1f525;系列专栏#xff1a;鸿蒙开发篇 #x1f516;人终将被年少不可得之物困其一生 依旧青山,本期给大家带来鸿蒙开发篇专栏内容:鸿蒙开发-状态判断循环 目录 1.状态1原始类型 2.引用类型 2.判断 3.循环 1.基本使用… ​个人主页前端青山 系列专栏鸿蒙开发篇 人终将被年少不可得之物困其一生 依旧青山,本期给大家带来鸿蒙开发篇专栏内容:鸿蒙开发-状态判断循环 目录 1.状态1原始类型 2.引用类型 2.判断 3.循环 1.基本使用 2.key 4.练习 1.鸿蒙计算器 1.状态 1原始类型 EntryComponentstruct Index {State num: number 1build() {Column() {Text(num this.num).fontSize(30)Button(1).onClick(() this.num)}}} 2.引用类型 State只会对引用数据类型的第一层赋予响应式数据的能力嵌套的属性不具备响应式 铺垫案例 // interface Info { // name: string // child: { // name: string // } // } type Info {name: string,child: {name: string} } Entry Component struct LearnState {State message: string Hello WorldState info: Info {name: 张三,child: {name: 张三的孩子}}build() {Row() {Column() {Text(this.message).fontSize(50).fontWeight(FontWeight.Bold)Text(父亲名字 this.info.name)Text(孩子的名字 this.info.child.name)Button(修改父的名字为李四).onClick(() {this.info.name 李四})Button(修改子的名字为李四的孩子).onClick(() {// 响应式只能观察到第一层的数据的变化// this.info.child.name 李四的孩子 // 失去响应式this.info.child { // 书写形式危险的name: 李四的孩子}})}.width(100%)}.height(100%)} } 实战案例类型使用值得学习   // class Good { // constructor(public id: string, public title: string, public price: number){ // } // } class Good {id: stringtitle: stringprice: numberconstructor(id: string, title: string, price: number){this.id idthis.title titlethis.price price} }Entry Component struct LearnGood {State goods: Good[] [new Good(1, 苹果, 2.5),new Good(2, 榴莲, 29.8),new Good(3, 苹果香蕉, 5.5)]build() {Row() {Column() {Text(榴莲价格 this.goods[1].price)Button(修改榴莲价格为15.5).onClick(() {// this.goods[1].price 15.5 // 没有修改成功const item this.goods[1]this.goods[1] new Good(item.id, item.title, 15.5)})}.width(100%)}.height(100%)} } 2.判断 ArkTS提供了渲染控制的能力。条件渲染可根据应用的不同状态使用if、else和else if渲染对应状态下的UI内容。 Entry Component struct LearnIf {State isShow: boolean truebuild() {Row() {Column() {Button(切换).onClick(() this.isShow !this.isShow)if (this.isShow) {Text(出现)}// this.isShow ? Text(哈哈) : Text(嘻嘻) // 错误的Text(this.isShow ? 哈哈 : 嘻嘻)// switch (this.isShow) {// case true:// Text(哈哈哈哈)// default:// Text(嘻嘻嘻嘻)// }// switch case// 三元运算符 --- react中推荐使用三元运算符不能直接写if else}.width(100%)}.height(100%)} } 3.循环 为啥要有循环 》 服务器返回数据 一般都是 数组里面是一个个对象 咱们需要通过循环挨个展示 v-for ForEach接口基于数组类型数据来进行循环渲染需要与容器组件配合使用且接口返回的组件应当是允许包含在ForEach父容器组件中的子组件 数组.forEach( (item,i){} ) ForEach( 数组, (item,i){ 布局代码内置组件或者自定义组件 }, ㊙️ )ForEach(arr: Array,itemGenerator: (item: any, index?: number) void,keyGenerator?: (item: any, index?: number) string ) 1.基本使用 Entry Component struct LearnList {State arr: string[] [one, two, three]build() {Row() {Column() {ForEach(this.arr, (item: string, index: number) {Row() {Text(item)}})}.width(100%)}.height(100%)} } 2.key 在ForEach循环渲染过程中系统会为每个数组元素生成一个唯一且持久的键值用于标识对应的组件。当这个键值变化时ArkUI框架将视为该数组元素已被替换或修改并会基于新的键值创建一个新的组件。 ForEach提供了一个名为keyGenerator的参数这是一个函数开发者可以通过它自定义键值的生成规则。如果开发者没有定义keyGenerator函数则ArkUI框架会使用默认的键值生成函数即 Entry Component struct LearnList {State arr: string[] [one,// temptwo,three]build() {Row() {Column() {Button(在one后追加一个数据temp).onClick(() {this.arr.splice(1, 0, temp)})ForEach(this.arr,(item: string, index: number) {Row() {Text(item)}},(item: string, index: number) { // keyreturn item})}.width(100%)}.height(100%)} } 情况2 Entry Component struct LearnList {State arr: string[] [one,// threetwo,three]build() {Row() {Column() {Button(在one后追加一个数据three).onClick(() {this.arr.splice(1, 0, three)})ForEach(this.arr,(item: string, index: number) {Row() {Text(item)}},(item: string, index: number) { // key// return item // one three tworeturn item index.toString() // one three two three})}.width(100%)}.height(100%)} } 4.练习 1.鸿蒙计算器 1列5行 Column w100% h100% bg#000 padding30结果展示 Row w100% h40%Text 233 w100% textAigin居中 fontSize 80 color #fff第一行 Row w100% h15% Text 数字 w75 h75 bg#333 font-size30 color #fff 圆角75 textAigin居中Text 数字 w75 h75 bg#333 font-size30 color #fff 圆角75 textAigin居中Text 数字 w75 h75 bg#333 font-size30 color #fff 圆角75 textAigin居中...第四行 Row w100% h15% Text 数字 w75 h75 bg#333 font-size30 color #fff 圆角75 textAigin居中Text 数字 w75 h75 bg#333 font-size30 color #fff 圆角75 textAigin居中Text 数字 w75 h75 bg#333 font-size30 color #fff 圆角75 textAigin居中模型 total 0 视图渲染 1、完成了 每个数字点击保存到 num1 2、完成了 每个符号点击保存 3、完成的AC清空 4、缺 每个数字点击 判断 符号选没选 没选-保存到num1中 选了-保存到num2 5、 计算结果 Entry Componentstruct Index {// 定义变量/状态/模型 State num1:string // 为啥不用number 而是string 因为后期我希望数据是拼接而不是求和 最终两个数字相加才是求和 State operator: string State num2:string State result:string onChangeData (data: string) {// this.num1 data// console.log(data)if (data ) {this.result String(Number(this.num1) Number(this.num2))return}// console.log(111 Number(data))if (data||data-||datax||data÷) {this.operator datareturn}// this.num1 dataif (this.operator) {this.num2 data} else {this.num1 data} }build() {Column() {// 第一行 结果Column() {// 2 数字1// 运算符// 2 数字2// 33 结果// css语法color: red; 文本颜色红色// css语法 text-align: left/center/right 文本对齐方式左中右// .textAlign(center)// Text(11)Text(this.num1).width(100%).fontColor(#fff).fontSize(40).textAlign(TextAlign.End)Text(this.operator).width(100%).fontColor(#fff).fontSize(40).textAlign(TextAlign.End)Text(this.num2).width(100%).fontColor(#fff).fontSize(40).textAlign(TextAlign.End)// Text(33)Text(this.result).width(100%).fontColor(#fff).fontSize(60).textAlign(TextAlign.End)}.width(100%).height(40%)// 第二行Row() {Text(7).width(75).height(75).backgroundColor(#333).fontSize(30).fontColor(#fff).borderRadius(75).textAlign(TextAlign.Center).onClick(() this.onChangeData(7) )Text(8).width(75).height(75).backgroundColor(#333).fontSize(30).fontColor(#fff).borderRadius(75).textAlign(TextAlign.Center).onClick(() this.onChangeData(8))Text(9).width(75).height(75).backgroundColor(#333).fontSize(30).fontColor(#fff).borderRadius(75).textAlign(TextAlign.Center).onClick(() this.onChangeData(9))Text().width(75).height(75).backgroundColor(#e4a751).fontSize(30).fontColor(#fff).borderRadius(75).textAlign(TextAlign.Center).onClick(() this.onChangeData())}.width(100%).height(15%)// 第三行 代码冗余 也就是重复代码多了 后面会讲优化Row() {Text(4).width(75).height(75).backgroundColor(#333).fontSize(30).fontColor(#fff).borderRadius(75).textAlign(TextAlign.Center).onClick(() this.onChangeData(4) )Text(5).width(75).height(75).backgroundColor(#333).fontSize(30).fontColor(#fff).borderRadius(75).textAlign(TextAlign.Center).onClick(() this.onChangeData(5) )Text(6).width(75).height(75).backgroundColor(#333).fontSize(30).fontColor(#fff).borderRadius(75).textAlign(TextAlign.Center).onClick(() this.onChangeData(6) )Text(-).width(75).height(75).backgroundColor(#e4a751).fontSize(30).fontColor(#fff).borderRadius(75).textAlign(TextAlign.Center).onClick(() this.onChangeData(-) )}.width(100%).height(15%)// 第四行Row() {Text(1).width(75).height(75).backgroundColor(#333).fontSize(30).fontColor(#fff).borderRadius(75).textAlign(TextAlign.Center).onClick(() this.onChangeData(1) )Text(2).width(75).height(75).backgroundColor(#333).fontSize(30).fontColor(#fff).borderRadius(75).textAlign(TextAlign.Center).onClick(() this.onChangeData(2) )Text(3).width(75).height(75).backgroundColor(#333).fontSize(30).fontColor(#fff).borderRadius(75).textAlign(TextAlign.Center).onClick(() this.onChangeData(3) )Text(x).width(75).height(75).backgroundColor(#e4a751).fontSize(30).fontColor(#fff).borderRadius(75).textAlign(TextAlign.Center).onClick(() this.onChangeData(x) )}.width(100%).height(15%)// 第五行Row() {Text(0).width(75).height(75).backgroundColor(#333).fontSize(30).fontColor(#fff).borderRadius(75).textAlign(TextAlign.Center).onClick(() this.onChangeData(0) )Text(AC).width(75).height(75).backgroundColor(#333).fontSize(30).fontColor(#fff).borderRadius(75).textAlign(TextAlign.Center).onClick(() this.onChangeData(AC) )Text().width(75).height(75).backgroundColor(#333).fontSize(30).fontColor(#fff).borderRadius(75).textAlign(TextAlign.Center).onClick(() this.onChangeData() )Text(÷).width(75).height(75).backgroundColor(#e4a751).fontSize(30).fontColor(#fff).borderRadius(75).textAlign(TextAlign.Center).onClick(() this.onChangeData(÷) )}.width(100%).height(15%)}.width(100%).height(100%).backgroundColor(#000).padding(30) }}
http://www.dnsts.com.cn/news/20979.html

相关文章:

  • 百度问答官网网站如何做排名优化
  • 米拓建站怎么样查钓鱼网站
  • dz论坛识别手机网站自动跳转cms开源网站管理系统
  • 官方网站建站php做的网站如何运行
  • 江阴 网站开发吉首网站建设
  • 企业网站搭建及优化网页模板布局
  • 网站 微信维护怎么做企业网站的推广阶段
  • 阿里服务器可以做多少个网站网站开发服务计入什么科目
  • 网站点击率查询广东室内设计学校
  • 小米路由器 做网站wordpress 免费主题推荐
  • wordpress网站分享到朋友圈收费网站建设
  • 搭建网站难吗旅游网站设计报告
  • 外包人员陕西网站关键词自然排名优化
  • 做网站需要多少台服务器网络推广工作室
  • 文山专业网站建设哪家好安新seo优化排名网站
  • 合界科技网站建设网站功能设计
  • 空间站免费版下载南安seo教程
  • 网站建站哪个品牌好品牌建设费用包括哪些
  • 北京电商网站建设外包网页建站建设教程
  • 深圳营销型网站建设 龙华信科新产品推广方案策划
  • 建筑网站大全导航郑州官方网
  • 网站后台管理系统ie8用不了建站网站和维护需要会什么
  • 新北区城乡建设局网站住房和城乡建设部执法网站
  • 做网站编辑心得优秀品牌企业网站建设案例
  • 形象墙在线设计网站苏州做网站
  • wordpress 高级教程seo试用软件
  • 东莞网站建设网站推广伊利网站建设
  • 网站系统设计论文广东网站建设价格
  • 猪八戒做网站怎么赚钱网页设计结果分析怎么写
  • 合规部对于网站建设的意见计算机培训班培训费用