gpt4 book ai didi

smalltalk - 从另一个组件修改组件的状态

转载 作者:行者123 更新时间:2023-12-01 11:42:04 26 4
gpt4 key购买 nike

我正在尝试在回调中从其父组件设置子组件的实例变量。使用调试器我可以看到实例变量在回调中设置正确,但在渲染子组件时,子组件不会反射(reflect)所做的更改。

那么,从海边的另一个组件修改一个组件的状态是违法的还是我做错了什么?

示例代码:

MyParentComponent>> initialize
super initialize.
child := MyChildComponent new.

MyParentComponent>> renderContentOn: html
html render: child.
html anchor
callback: [
child property: 'Something'.
] ; with 'Navigate'.

MyParentComponent>> children
^ Array with: child

最佳答案

我猜你错过了父组件中的一些super initialize

我也建议你不要这样工作。

做一个 MyParentComponent>>child
  ^ child ifNil: [ child := MyChildComponent new ]

此外,不要执行 html render: child,而是执行 html render: self child。这样您就可以轻松更换组件。

这样你就可以确定 child 已经正确初始化。

关于smalltalk - 从另一个组件修改组件的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19269700/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com