【问题标题】:Dojo2: How to get the child widget instance to call functions on itDojo2:如何让子小部件实例在其上调用函数
【发布时间】:2018-07-27 04:50:31
【问题描述】:

设置非常简单,假设这段代码:

 export default class App extends WidgetBase {

     protected render() {
         return v('div', [
             w(MyCustomWidget, {}), 
             v('button', {
                 id: 'abc',
                 classes: ['btn', 'btn-primary'],
                 onclick: this.clickMe
             }, [
                 'Hello World!'
             ])
         ]);
     }

 }

MyCustomWidget 类现在定义了一个我想从当前App-widget 调用的函数。如果我这样做let cw = w(MyCustomWidget, {}),我会得到一个带有instance 键的对象,其中包含我想要的内容。但是如果我使用cw.instace,TypeScript 会告诉我,Property instance does not exist on type 'WNode<MyCustomWidget>'

那么如何正确的做呢?

【问题讨论】:

    标签: dojo children


    【解决方案1】:

    我联系了 Dojo2 的人,他们很快就回复了我:

    如果您希望子小部件从父小部件调用函数,则需要将其作为属性传递给子小部件。在 dojo 中,小部件实例永远不会暴露。

    这也是我的解决方法,但我不确定这是否是正确的方法。它当然有效。现在我们知道了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-06
      • 2021-12-30
      • 2012-08-03
      • 2023-01-17
      • 1970-01-01
      • 2020-07-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多