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

网站设计主题中文成都app开发外包

网站设计主题中文,成都app开发外包,简历设计网官网,国外图床 wordpress容器类—Column和Row 布局容器概念 Column表示沿垂直方向布局的容器 Row表示沿水平方向布局的容器 对齐方式 justifyContent:设置子元素在主轴方向的对齐格式 alignItems:设置子元素在交叉轴方向的对齐格式 主轴和交叉轴的概念 主轴:在Column容器中的子组件是…

容器类—Column和Row

布局容器概念

Column表示沿垂直方向布局的容器
Row表示沿水平方向布局的容器

对齐方式

justifyContent:设置子元素在主轴方向的对齐格式
alignItems:设置子元素在交叉轴方向的对齐格式

主轴和交叉轴的概念

主轴:在Column容器中的子组件是按照从上到下的垂直方向布局的,其主轴的方向是垂直方向;在Row容器中的组件是按照从左到右的水平方向布局的,其主轴的方向是水平方向。
交叉轴:与主轴垂直相交的轴线,如果主轴是垂直方向,则交叉轴就是水平方向;如果主轴是水平方向,则交叉轴是垂直方向。

路由跳转

页面路由:是指在应用程序中实现不同页面之间的跳转和数据传递。
Router有两种页面跳转模式:
①router.pushUrl( ):目标页不会替换当前页,而是压入页面栈中,因此可以用router,back( )返回当前页。
②router.replaceUrl( ):目标页替换当前页,当前页会被销毁并释放资源,无法返回当前页。
此外Router有两种页面实例模式:
①Standard:标准实例模式,每次跳转都会新建一个目标页并压入栈顶。默认就是这种模式
②Single:单实例模式,如果目标页已经在栈中,则离栈顶最近的同UrT页面会被移动到栈顶并重新加载。
注意:页面栈的最大容量上限为32个页面,使用router.clear( )方法可以清空页面栈,释放内存。

通过调用router.getParams()方法获取页面传递过来的自定义参数

装饰器

装饰器:用来装饰类、结构体、方法以及变量,赋予其特殊的含义,如 @Entry 、@Component 、 等这个状态变化会引起 UI 变更。
ArkTS装饰器分为三大类:组件定义装饰器、动态构建装饰器、状态管理装饰器。

组件定义装饰器

@Entry装饰的自定义组件用作页面的默认入口组件,加载页面时,将首先创建并呈现
作为一个入口组件,先载入@Entry,再载入其他组件。只有被@Entry和@Preview修饰的组件才能用预览器进行预览展示。 @Entry 和 @Component 是ArkUI中的装饰器,用于定义组件的入口和组件本身。@Entry 表示这个组件是应用的入口组件,@Component 表示这是一个组件 ,build()  //是组件的构建方法,用于定义组件的UI结构。

@Preview装饰的自定义组件可以在DevEco Studio的预览器上进行预览,加载页面时将创建并呈@Preview装饰的自定义组件。与@Entry不同的是,被@Preview装饰预览的是当前自定义组件,而前者预览的则是整个界面。
使用场景:①当存在有多个结构体,查看指定的结构体②查看静态类型自定义组件。

//预览组件 test1
@Preview
@Component
struct test1 {build() {Column(){Button("你好")}}
}
//预览组件 test2
@Preview
@Component
struct test2 {build() {Column(){Button("你好")}}
}

@Component装饰的struct表示该结构体具有组件化能力,能够成为一个独立的组件,即自定义组件,在build方法里描述UI结构。
其本身拥有四大特性:
①可组合:允许开发人员组合使用内置组件、其他组件、公共属性和方法
②可重用:自定义组件可以被其他组件重用,并作为不同的实例在不同的父组件或容器中使用
③生命周期:生命周期的回调方法可以在组件中配置,用于业务逻辑处理
④数据驱动更新:由状态变量的数据动,实现UI自动更新
@Component创建的子组件可以被调用,一种为本文件内调用:

//父组件
@Entry
@Component
struct Index {build() {Column({space:20}) {//调用子组件button1()}.justifyContent(FlexAlign.Center).height('100%').width('100%')}
}//子组件button1
@Component
struct button1{build(){Column(){/* 显示年龄的按钮,点击增加年龄 */Button("按钮").type(ButtonType.Normal).borderRadius(10)}}
}

另一种为跨文件调用,需要通过import导入:

//Import.ets
import { Export } from './Export'
@Entry
@Component
struct Export {build() {Column({space:20}) {//调用子组件Import()}.justifyContent(FlexAlign.Center).height('100%').width('100%')}
}//Export
@Component
export struct Export{build(){Column(){/* 显示年龄的按钮,点击增加年龄 */Button("按钮").type(ButtonType.Normal).borderRadius(10)}}
}

动态UI装饰器

@Builder装饰的方法用于定义组件的声明式UI描述,在一个自定义组件内快速生成多个布局内容当封装完自定义组件,但是只想调用其中的某个组件,不想单起文件,用@Builder
由于buttoner定义在了build()过程外面,struct里面,所以调用要用this.buttoner()

@Entry
@Component
struct Index {//自定义按钮@Builder buttoner(){Button("自定义按钮").fontSize(50)}build() {Column({space:20}) {//调用子组件Button("按钮1")this.buttoner()}.justifyContent(FlexAlign.Center).height('100%').width('100%')}
}

@Styles将新的属性函数添加到基本组件上,如Text、Column、Button等。通过@stvles装饰器可以快速定义并复用组件的自定义样式。

@Entry
@Component
struct Index {build() {Column({space:20}) {//调用子组件Button("你好").card()Button("你好").card()Button("你好").card()}}
}
// 自定义组件样式。
@Styles function card(){.width("50").height("50").backgroundColor(Color.Red)
}

动态UI装饰器

@State装饰的变量是组件内部的状态数据,当这些状态数据被修改时,将会调用所在组件的build方法进行UI刷新。
如下方当点击按钮时,修改message,Text文本组件中绑定this.messageText文本会发生改变。

@Entry
@Component
struct Index {@state message:string = "Hello World"build() {Column({space:20}) {Text(this.message)Button("点击改变").onClick(()=>{this.message="你好 世界"})}}
}

@Prop与@State有相同的语义,但初始化方式不同。@Prop装饰的变量必须使用其父组
件提供的@State变量进行初始化,允许组件内部修改@Prop变量,但更改不会通知给父
组件,即@Prop属于单向数据绑定
@Prop状态数据具有以下特征:
①支持简单类型:仅支持number、string、boolean简单类型;
②私有:仅在组件内访问;
③支持多个实例:一个组件中可以定义多个标有@Prop的属性;

@Entry
@Component
export struct Index {@State agef:number=18build() {Column({space:20}) {Text(this.agef.toString()).fontSize(50)/* 父亲按钮,点击增加年龄 */Button("父亲按钮"+this.agef).onClick(()=>{this.agef=this.agef+1})/* 调用子组件button1,传递(单向)年龄属性 */button1({age:this.agef})}.justifyContent(FlexAlign.Center).height('100%').width('100%')}
}/*** 子组件button1* @Prop 单向绑定*/
@Component
struct button1{@Prop age:numberbuild(){Column(){/* 显示年龄的按钮,点击增加年龄 */Button("单向数据"+this.age).type(ButtonType.Normal).borderRadius(10).onClick(()=>{this.age=this.age+1})}}
}

@Link 创建自定义组件时需要将变量的引用传递给@Link变量,在创建组件的新实例时,必须
使用命名参数初始化所有@Link变量。@Link变量可以使用@State变量或@Link变量的引
用进行初始化,@State变量可以通过“$”操作符创建引用。@Link装饰的变量可以和父组件的@State变量建立双向数据绑定。
@Link状态数据具有以下特征:
①支持多种类型:@Link变量的值与@State变量的类型相同,即cass、number、string、boolean或这些类型的数组;
②私有:仅在组件内访问;
③单个数据源:初始化@Link变量的父组件的变量必须是@State变量;

@Entry
@Component
export struct Index {@State agef:number=18build() {Column({space:20}) {Text(this.agef.toString()).fontSize(50)/* 父亲按钮,点击增加年龄 */Button("父亲按钮"+this.agef).onClick(()=>{this.agef=this.agef+1})/* 调用子组件button2,链接(双向)年龄属性 */button2({age:$agef})}.justifyContent(FlexAlign.Center).height('100%').width('100%')}
}/*** 子组件button2* @Link 双向绑定*/
@Component
struct button2{@Link age:numberbuild(){Column(){/* 显示年龄的按钮,点击增加年龄 */Button("双向数据"+this.age).type(ButtonType.Normal).borderRadius(10).onClick(()=>{this.age=this.age+1})}}
}
http://www.dtcms.com/wzjs/793477.html

相关文章:

  • 苏州建站推广定制wordpress能采集
  • 昆明比较好的网站开发公司51我们一起做网站
  • 做ppt的背景图片网站最近一个月的热点事件
  • 做网站公众号要多少钱深圳刚刚突然宣布
  • 网站建设宣传册内容开一家网站建设公司好
  • 怎么免费建立一个网站网站开发有哪些软件
  • 石家庄计算机培训机构seo查询是什么意思
  • 科技资讯 哪个网站好西安网站建设查派
  • 重庆旅游网站建设网站特效怎么做
  • 做企业网站接单站点创建
  • 网站版面结构专业做网站的网站
  • php网站挂马中国卫生人才网官网
  • 陕西做教学成果网站的公司网页游戏网站建设
  • 网站搭建与生成技术教材网站的开发建设要做什么
  • 玛沁县wap网站建设公司wordpress分类树
  • 网站设置子目录网站源码免费资源网
  • 宁夏建设网站公司杨浦网站建设
  • 做外贸生意是不是需要建网站客户说做网站没效果
  • 个人网站建设服务云南省建设厅网站 农民工
  • 泗县做网站南昌做网站排名
  • 做网站的作用app界面设计尺寸规范
  • 金融 网站 模板公众号名字推荐创意
  • 学校官网网站建设的现状分析搜索网页怎么制作
  • 做网站实例教程河南省建设工程标准定额管理网站
  • asp做的网站如何更新建网站选域名
  • 个人网站建设怎么赚钱现在学seo课程多少钱
  • 佛山网站建设案例网站开发用什么技术
  • 北京欢迎你网站建设做海淘的网站做海淘的网站有哪些
  • 抖音的电子商务网站建设天津网站开发贴吧
  • 网站的整体规划怎么写网上商城制作教程