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

网站上面的体验卡怎么做久久室内设计网

网站上面的体验卡怎么做,久久室内设计网,深圳网站建设计,做艺术品的网站有哪些一、页面间导航传参 使用场景:页面跳转时传递参数 实现方式:通过router模块的push方法传递参数 // 页面A传参 import router from ohos.router;router.pushUrl({url: pages/PageB,params: { id: 123, name: HarmonyOS } });// 页面B接收参数 Entry Co…

一、页面间导航传参

使用场景:页面跳转时传递参数

实现方式:通过router模块的push方法传递参数

// 页面A传参
import router from '@ohos.router';router.pushUrl({url: 'pages/PageB',params: { id: 123, name: 'HarmonyOS' }
});// 页面B接收参数
@Entry
@Component
struct PageB {@State params: object = router.getParams(); // 获取参数build() {Column() {Text(`ID: ${this.params['id']}`)Text(`Name: ${this.params['name']}`)}}
}

二、组件间直接传参(父子组件)

父子组件间数据传递

通过@PROP @LINK装饰器

父子组件传参

1、父组件传递参数

// 父组件
@Entry
@Component
struct ParentComponent {@State parentData: string = 'From Parent';build() {Column() {ChildComponent({ childProp: this.parentData, // 传递普通数据childLink: $parentData      // 传递双向绑定数据})}}
}

2、子组件接收参数

// 子组件
@Component
struct ChildComponent {@Prop childProp: string;           // 单向同步@Link childLink: string;           // 双向绑定build() {Column() {Text(this.childProp)Button('修改父数据').onClick(() => {this.childLink = 'Changed by Child';})}}
}

三、全局状态管理传参

使用场景:跨组件/跨页面共享数据
实现方式:使用AppStorage全局状态管理

// 存储数据
AppStorage.SetOrCreate<string>('globalData', 'Initial Value');// 任意组件获取数据
@Component
struct AnyComponent {@StorageLink('globalData') globalData: string = '';build() {Button(`当前值: ${this.globalData}`).onClick(() => {this.globalData = 'New Value';})}
}

四、本地持久化传参

使用场景:需要持久化存储的数据
实现方式:使用Preferences本地存储

// 存储数据
import { Preferences } from '@ohos.data.preferences';let prefs: Preferences = await Preferences.getPreferences(context, 'myPrefs');
await prefs.put('key', 'value');
await prefs.flush();// 读取数据
let value = await prefs.get('key', 'default');

五、事件总线传参

使用场景:任意组件间通信

实现方式:使用Emitter事件总线


// 发送事件
import emitter from '@ohos.events.emitter';const eventData = {data: { message: 'Hello HarmonyOS' }
};
emitter.emit(eventData, {eventId: 1, // 自定义事件IDpriority: emitter.EventPriority.HIGH
});// 接收事件
emitter.once({eventId: 1
}, (eventData) => {console.log('收到消息:', eventData.data.message);
});

六、UIAbility间传参

使用场景:跨应用/跨Ability通信
实现方式:使用Want对象传递参数

// 发送方
let want = {bundleName: 'com.example.app',abilityName: 'EntryAbility',parameters: {key1: 'value1',key2: 100}
};
context.startAbility(want);// 接收方
import UIAbility from '@ohos.app.ability.UIAbility';export default class EntryAbility extends UIAbility {onCreate(want, launchParam) {let params = want.parameters; // 获取参数}
}

七、组件深层次传参

使用场景:多层嵌套组件传递复杂对象
实现方式:使用@ObjectLink装饰器

// 定义数据类
class User {name: string;age: number;constructor(name: string, age: number) {this.name = name;this.age = age;}
}// 父组件
@Entry
@Component
struct Parent {@State user: User = new User('Alice', 25);build() {Column() {Child({ user: this.user })}}
}// 子组件
@Component
struct Child {@ObjectLink user: User;build() {Column() {Text(this.user.name)Button('修改年龄').onClick(() => {this.user.age += 1;})}}
}

传参方式对比表

方式

适用场景

数据流向

生命周期

性能影响

页面导航传参

页面跳转

单向

页面存活期间

@Prop/@Link

父子组件

单向/双向

组件存活期间

AppStorage

全局状态

双向

应用运行期间

Preferences

持久化存储

单向

永久存储

事件总线

任意组件通信

单向

事件触发时

UIAbility传参

跨应用通信

单向

Ability运行期间

@ObjectLink

复杂对象多层传递

双向

组件存活期间

最佳实践建议

  1. 简单页面跳转优先使用router传参
  2. 父子组件通信根据需求选择:

单向数据流:使用@Prop

需要双向绑定:使用@Link

     3.全局状态管理

单个页面内共享使用LocalStorage

跨页面共享使用AppStorage

      4.复杂对象传递优先使用@ObjectLink

      5.敏感数据传递建议结合加密模块使用


文章转载自:

http://px7YGXLF.nynpf.cn
http://a8x631Fh.nynpf.cn
http://ht6LTBOL.nynpf.cn
http://FoE0T6ty.nynpf.cn
http://35J9ob5Y.nynpf.cn
http://4txeUo8l.nynpf.cn
http://TMUhTcGo.nynpf.cn
http://VBxJfcRP.nynpf.cn
http://TGU0ghIb.nynpf.cn
http://WmigsIP0.nynpf.cn
http://y0X8v5Uy.nynpf.cn
http://CDJUdUgL.nynpf.cn
http://bE0s3hKb.nynpf.cn
http://Y5saaWMd.nynpf.cn
http://Xd5mw8ve.nynpf.cn
http://TmCAphmF.nynpf.cn
http://1H8I7hga.nynpf.cn
http://nL7W01z0.nynpf.cn
http://Qo2kLbAw.nynpf.cn
http://lOCN4EhA.nynpf.cn
http://HgbpkL8M.nynpf.cn
http://FVxVC2GL.nynpf.cn
http://wwVddGya.nynpf.cn
http://SVBaTeBO.nynpf.cn
http://KQbNBWc8.nynpf.cn
http://1Xux2jpR.nynpf.cn
http://xujh2w25.nynpf.cn
http://1w0eKPZk.nynpf.cn
http://ytYGxz4F.nynpf.cn
http://t9WvODLi.nynpf.cn
http://www.dtcms.com/wzjs/633546.html

相关文章:

  • 国家工信部备案网站wordpress搜索框位置
  • 长治一般做一个网站需要多少钱楚风网站建设工作室
  • 国外网站dns 地址禁止阿里云建站保证销售额
  • dw软件做的东西怎么在网站用百度快速查询
  • 网站建设哪家wordpress主题国外优秀
  • 北京市建设质量监督网站哪个网站能接施工图来做
  • 一个网站放两个vps企业网站打不开什么原因
  • 在线工具网站wordpress 好用的编辑器
  • 锡林浩特网站建设开发网站做下载功能
  • 权威发布海报网站优化要做哪些工作
  • 简洁大气网站设计wordpress5.0中文编辑器
  • asp+sql server典型网站建设案例(源码)3wordpress注册没用
  • 重庆律师网站网站的关键词在哪里设置
  • 哪里有网站监控工具网站开发需要团队吗
  • 中国建设协会网站php儿童摄影网站源码
  • 中山市网站建设 中企动力厦门手机网站建设方案
  • 先做网站还是先备案网页设计规范字体
  • 快速的网站开发wordpress访问统计
  • 做内销网站做网站如何选择颜色
  • 温岭做网站公司福田商城网站制作
  • 南充网站建设价格黄石商城网站建设
  • 做网站公司哪个好怎么创建网站论坛
  • 商务网站建设工程师是wordpress免签约接口
  • 百度网盘做网站旅游区网站建设
  • 留号码的广告网站不需要验证码2017优秀网站设计
  • 网站设计介绍怎么写商城定制开发
  • 百度收录公司网站百度知道官网
  • 如何提高网站的知名度百度推广免费送网站
  • 网站建设和管理情况汤阴县seo快速排名有哪家好
  • 网站策划与网上营销wordpress地址栏显示ip