HarmonyOS 鸿蒙Next 【API 11 学习】@Styles不能跨页面使用,但利用attributeModifier可以实现跨页面抽离样式

发布于 1周前 作者 songsunli 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 【API 11 学习】@Styles不能跨页面使用,但利用attributeModifier可以实现跨页面抽离样式 【API 11新增attributeModifier】

@Styles不能跨页面使用,但利用attributeModifier可以实现跨页面抽离样式

参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-universal-attributes-attribute-modifier-0000001815767740#ZH-CN_TOPIC_0000001815767740__attributemodifier

【注意事项】

不能在applyNormalAttribute里实现onChange或onClick方法,

否则会报错:SourceMap is not initialized yet

applyNormalAttribute(instance: TextInputAttribute): void {
  instance.width('524.31lpx')
  instance.height('70lpx')
  instance.fontSize('27lpx')
  instance.backgroundColor("#ffffff")
  instance.onClick(() => { //加这行 运行时会报错 SourceMap is not initialized yet

  })
}

【完整示例】

![cke_138.png](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAgAElEQVR4Aey9d5wcRRXH8f//z3vPnnnnneeeec7555777vfdd999+973ve97znPOeecc8999xz99+9///vf3//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9//97//+9


更多关于HarmonyOS 鸿蒙Next 【API 11 学习】@Styles不能跨页面使用,但利用attributeModifier可以实现跨页面抽离样式的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于HarmonyOS 鸿蒙Next 【API 11 学习】@Styles不能跨页面使用,但利用attributeModifier可以实现跨页面抽离样式的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙系统中,@Styles确实存在不能跨页面使用的限制,这是设计上的特定行为。若需要在多个页面中复用样式,你可以采用attributeModifier来实现样式的跨页面抽离。

attributeModifier提供了一种机制,允许开发者定义自定义属性并在不同组件或页面中应用这些属性。通过这种方式,你可以创建一个包含样式的属性集,然后在需要的地方引用这些属性,实现样式的复用。

具体步骤如下:

  1. 在某个资源文件中定义你的自定义属性和对应的样式值。
  2. 在需要使用这些样式的组件或页面中,通过attributeModifier引用这些自定义属性。

这样,你就可以在不直接复制粘贴样式代码的情况下,实现样式的跨页面复用。

需要注意的是,使用attributeModifier时,确保自定义属性的命名在全局范围内是唯一的,以避免潜在的命名冲突。

如果问题依旧没法解决请联系官网客服, 官网地址是 https://www.itying.com/category-93-b0.html

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!