HarmonyOS 状态管理Provide和Consume无法和NodeContainer使用

通过NodeContainer创建的组件,Consume属性获取不到容器的Provide属性。

代码如下:

@Entry
@Component
struct Index {
  @Provide data: string = "parent"

  build() {
    Stack() {
      Child()
      NodeContainer(new ChildController())
    }
  }
}

@Builder
function childBuilder() {
  Child()
}

@Component
struct Child {
  @Consume data: string

  aboutToAppear(): void {
    console.log(`Child data = ${this.data}`)
  }

  build() {
  }
}

class ChildController extends NodeController {
  makeNode(uiContext: UIContext): FrameNode | null {
    const builderNode = new BuilderNode(uiContext)
    builderNode.build(wrapBuilder(childBuilder))
    return builderNode.getFrameNode()
  }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
HarmonyOS
2025-01-09 16:56:44
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
fox280

不支持使用自定义组件使用@Reusable、@Link、@Provide、@Consume等装饰器用于当前页面与自定义组件的状态同步,参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-arkui-buildernode-V5#build

分享
微博
QQ
微信
回复
2025-01-09 19:30:45


相关问题
HarmonyOS HTTP cookie管理使用
793浏览 • 1回复 待解决
HarmonyOS NodeContainer使用方式
909浏览 • 1回复 待解决
HarmonyOS NodeContainer使用示例
1045浏览 • 1回复 待解决
HarmonyOS 状态管理咨询
1162浏览 • 1回复 待解决
HarmonyOS 关于状态管理
1059浏览 • 1回复 待解决