backdraftjs - backdraftjs 组件如何操作子组件上的 watchable?
问题描述
我觉得我在这里遗漏了一些明显的东西,但是看看这段代码......
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'})
);
}
}
推荐阅读
- python - 无法使用 socket.accept 终止进程
- python - 如何在python中按2个条件对元组列表进行排序,优先考虑这2个条件
- javascript - Bootstrap 4 Carousel - 指标未出现(控件和 jumbotron 容器工作正常)
- node.js - 无法在新的 docker 容器上运行 npm install
- r - 是否可以使用嵌套列编写镶木地板文件?
- python - 带有文本的 Pandas Dataframe 和编码某些字符的问题
- javascript - 具有加入服务器要求的 Discord js Giveaway 命令
- php - 使用 FILTER_SANITIZE_FULL_SPECIAL_CHARS 后使用 & 验证 RTF 输入
- c++ - 递归幂函数健全性检查
- python - Conda env 和 python 包