我觉得这里缺少了一些明显的东西,但看看这段代码。。。
class ShowMessageButton extends Component {
showTheInfo() {
// what goes here???
}
bdElements() {
return e.div(
{bdAdvise: {click: 'showTheInfo'}},
'Click Me to see the Secret Message',
e(SecretMessage)
);
}
}
class SecretMessage extends Component.withWatchables('showMe') {
constructor(kwargs) {
super(kwargs);
this.showMe = false;
}
bdElements() {
return e.div({
bdReflectClass: ['showMe', s => s ? '' : 'hidden'],
}, 'You clicked! The secret message is "howdy"')
}
}
在showTheInfo
中执行什么操作以将SecretMessage的showMe
可监视设置为true
?
啊!想明白了。需要设置bdAttach
以获得对子组件的引用:
class ShowMessageButton extends Component {
showTheInfo() {
this.secretMsg.showMe = true;
}
bdElements() {
return e.div(
{bdAdvise: {click: 'showTheInfo'}},
'Click Me to see the Secret Message',
e(SecretMessage, {bdAttach: 'secretMsg'})
);
}
}