设置非常简单,假设这段代码:
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
小部件中调用的函数。如果执行let cw = w(MyCustomWidget, {})
,我将得到一个键为instance
的对象,其中包含我想要的内容。但是,如果我使用cw.instace
,TypeScript会告诉我Property instance does not exist on type 'WNode<MyCustomWidget>'
。
那怎么做呢?
答案 0 :(得分:0)
我联系了Dojo2的家伙,他们很快回应了我:
如果您希望子控件从父级调用函数,则需要将其作为属性传递给子级。在dojo中,小部件实例从不公开。
这也是我的解决方法,但是我不确定这是否是正确的方法。当然可以。现在我们知道了。