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

平价网站平价网站建设建设线上营销推广方式都有哪些

平价网站平价网站建设建设,线上营销推广方式都有哪些,诚信通旺铺网站建设,wordpress文章css在鸿蒙应用开发(基于ArkTS)中,使用 struct 封装共用模块主要涉及可复用UI组件和逻辑模块化两种场景。以下是详细解决方案: 一、UI组件封装(使用 struct) 通过 Component 装饰器创建可复用的UI组件&#xff…

在鸿蒙应用开发(基于ArkTS)中,使用 struct 封装共用模块主要涉及可复用UI组件逻辑模块化两种场景。以下是详细解决方案:


一、UI组件封装(使用 struct

通过 @Component 装饰器创建可复用的UI组件,适用于按钮、卡片等可视化元素。

示例:封装通用按钮组件
// components/CommonButton.ets
@Component
export struct CommonButton {
private btnText: string = '默认按钮'
private onTap: () =>void = () => {}build() {Button(this.btnText).width(120).height(40).backgroundColor(Color.Blue).onClick(() => {this.onTap()})}// 设置按钮文字
public setText(value: string): CommonButton {this.btnText = valuereturnthis}// 设置点击事件
public setOnClick(action: () =>void): CommonButton {this.onTap = actionreturnthis}
}
调用方式
// 使用组件
import { CommonButton } from'../components/CommonButton'@Entry
@Component
struct HomePage {build() {Column() {CommonButton().setText('立即登录').setOnClick(() => {console.log('按钮被点击')})}}
}

二、逻辑模块封装(非UI)

对于工具类、服务层等非UI逻辑,使用 ES模块化 进行封装。

示例:网络请求工具类
// utils/http.ets
import { HttpRequestOptions, HttpResponse } from'@ohos.net.http'exportclass HttpUtil {
staticasyncget(url: string): Promise<HttpResponse> {let http = http.createHttp()returnawait http.request(url, {method: http.RequestMethod.GET})}staticasync post(url: string, data: object): Promise<HttpResponse> {let http = http.createHttp()returnawait http.request(url, {method: http.RequestMethod.POST,header: { 'Content-Type': 'application/json' },extraData: JSON.stringify(data)})}
}
调用方式
import { HttpUtil } from '../utils/http'async fetchData() {try {let response = await HttpUtil.get('https://api.example.com/data')console.log('响应数据:', response.result)} catch (error) {console.error('请求失败:', error)}
}

三、进阶技巧

1. 状态共享

使用 AppStorage 实现全局状态管理:

// stores/userStore.ets
import { AppStorage } from'@ohos.application'AppStorage.SetOrCreate<string>('username', 'Guest')exportfunction getUserName(): string {
return AppStorage.Get<string>('username')
}exportfunction setUserName(name: string): void {AppStorage.Set<string>('username', name)
}
2. 组件插槽

通过 @BuilderParam 实现插槽功能:

@Component
struct CardContainer {
@BuilderParam content: () =>voidbuild() {Column() {this.content()}.padding(20).backgroundColor(Color.White).borderRadius(8)}
}// 使用
CardContainer({content: () => {Text('自定义内容').fontSize(16)}
})

四、项目结构建议

src/
├── components/      // 公共组件
├── utils/           // 工具类
├── services/        // 业务服务
├── models/          // 数据模型
├── resources/       // 静态资源
└── pages/           // 页面目录

关键点总结

  1. UI组件:使用 @Component + struct 封装带视图的模块

  2. 逻辑模块:通过类/函数 + ES Module 导出

  3. 状态管理:结合 AppStorage 或自有状态管理方案

  4. 类型安全:推荐使用TypeScript增强代码健壮性

根据实际场景选择封装方式,平衡复用性与灵活性。对于高频使用的功能模块,建议通过抽象接口实现更松散的耦合。

关注我获取更多知识或者投稿

deb24ab96d09ae90e6009d62fa31a63b.jpeg

913b79242713eac4496e044d9774063e.jpeg

http://www.dtcms.com/wzjs/239896.html

相关文章:

  • 美女做艾网站微网站
  • 公司网站制作哪家公司好广告推销网站
  • 社区网站建设网站关键词优化排名推荐
  • h5商城网站怎么做百度推广关键词质量度
  • 无代码编程软件上海最专业的seo公司
  • 网站安全评估怎么做百度com百度一下你
  • 手机网站建设软件郑州模板建站代理
  • 网站建设1000字海外品牌推广
  • wordpress产品选择厦门seo网站推广
  • 做电影平台网站怎么赚钱的推广普通话手抄报模板
  • 做的好的中医网站谷歌seo网络公司
  • 珠海建站模板搭建比较好的友链平台
  • 什么主题和风格的网站好如何能查到百度搜索排名
  • 设计本科郑州厉害的seo优化顾问
  • ui设计师的薪资水平福州百度快速优化
  • wordpress外接api独立站seo是什么意思
  • 驻马店专业做网站公司求好用的seo软件
  • 自助建网站系统百度竞价关键词质量度怎么提升
  • 政府网站建设人员的组织百度明令禁止搜索的词
  • 信息推广网站点不开的那种怎么做app推广策略
  • 网站建设与开发毕业论文定制网站建设
  • 上海企业网上公示系统seo公司资源
  • 兰州市城乡建设局网官网站西安百度推广运营
  • 花钱做网站seo网站优化知识
  • 个人网站做导购要什么经营许可网站优化外包
  • 做红包图片的网站西安整站优化
  • 360兼容模式网站错位足球队世界排名榜
  • 个人网站界面设计图片深圳做网站公司
  • 省政府网站管理与建设方案下载百度免费版
  • 子网站怎么建设指数基金怎么买才赚钱