赞
踩
基于Stage模型的ArkTS应用
Create Project来创建一个新工程,选择Empty Ability
进入配置页面选择 stage模型,语言arkts
点击finish 项目创建完成
stage模型
打开entry/src/main/ets/pages/index.ets
修改如下:
可参考代码:
@Entry @Component struct Index { @State message: string = '我是首页' build() { Row() { Column() { Text(this.message) .fontSize(50) .fontWeight(FontWeight.Bold) Button() { Text('跳转') .fontSize(30) .fontWeight(FontWeight.Bold) } .type(ButtonType.Capsule) .margin({ top: 20 }) .backgroundColor('#fffb290d') .width('40%') .height('5%') } .width('100%') } .height('100%') } }
右键–>new -->ArkTS File–>NeiPage1.ets
配置路由
src/main/resources/profile/main_pages.json
修改路由配置
{
"src": [
"pages/Index",
"pages/NeiPage1"
]
}
可按 ctrl点击鼠标,即可进入页面
编写内页代码 --NeiPage1.ets
@Entry @Component struct Second { @State message: string = '我是内页' build() { Row() { Column() { Text(this.message) .fontSize(50) .fontWeight(FontWeight.Bold) Button() { Text('返回主页') .fontSize(25) .fontWeight(FontWeight.Bold) } .type(ButtonType.Capsule) .margin({ top: 20 }) .backgroundColor('#ff0dfb2d') .width('40%') .height('5%') } .width('100%') } .height('100%') } }
在首页面中,跳转按钮绑定onClick事件,点击按钮时跳转到内页
需要导入路由库,index.ets 完整代码如下:
//导入路由库 import router from '@ohos.router'; @Entry @Component struct Index { @State message: string = '我是首页' build() { Row() { Column() { Text(this.message) .fontSize(50) .fontWeight(FontWeight.Bold) Button() { Text('跳转') .fontSize(30) .fontWeight(FontWeight.Bold) } .type(ButtonType.Capsule) .margin({ top: 20 }) .backgroundColor('#fffb290d') .width('40%') .height('5%') //绑定点击事件 .onClick(() => { console.info(`控制台信息输出`) // 跳转到内页 router.pushUrl({ url: 'pages/NeiPage1' }).then(() => { console.info('控制台信息输出') }).catch((err) => { console.error(`错误信息 ${err.code}, message is ${err.message}`) }) }) } .width('100%') } .height('100%') } }
在内页中,返回按钮绑定onClick事件,点击按钮时返回到首页
NeiPage1.ets 完整代码:
//导入路由库 import router from '@ohos.router'; @Entry @Component struct Second { @State message: string = '我是内页' build() { Row() { Column() { Text(this.message) .fontSize(50) .fontWeight(FontWeight.Bold) Button() { Text('返回主页') .fontSize(25) .fontWeight(FontWeight.Bold) } .type(ButtonType.Capsule) .margin({ top: 20 }) .backgroundColor('#ff0dfb2d') .width('40%') .height('5%') .onClick(() => { console.info(`控制台信息输出.`) try { // 返回前一页 router.back() //或者:router.pushUrl({ url: 'pages/Index' }) console.info('控制台信息输出.') } catch (err) { console.error(`错误信息 ${err.code}, message is ${err.message}`) } }) } .width('100%') } .height('100%') } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。