自定义小部件内的 dojo 小部件的可寻址性

Posted

技术标签:

【中文标题】自定义小部件内的 dojo 小部件的可寻址性【英文标题】:Addressability of dojo widget inside of a custom widget 【发布时间】:2013-07-22 23:39:21 【问题描述】:

我认为我在 Dojo 1.8 w.r.t 中遗漏了一些明显的东西。编写自定义小部件。

我有一个简单的小部件,其中包括一个 currencyTextBox。

在运行时,我希望能够将该小部件的货币更改为美元或欧元或其他任何值。

通常,如果这个不是小部件,我可以简单地使用

registry.byId("myCurrentTextBox").set("currency","USD");

但自定义小部件内的嵌套小部件不会在注册表中注册。那么,获取小部件的可寻址性并为嵌套在自定义小部件中的小部件分配 widget 属性(不仅仅是 DOM 属性)的诀窍是什么?

【问题讨论】:

【参考方案1】:

data-dojo-attach-point="myCurrentTextBox" 添加到模板中的小部件定义中。然后,您可以在小部件中使用this.myCurrentTextBox 访问文本框。

【讨论】:

【参考方案2】:

据我所知,所有小部件都已添加到注册表中。 可能是id错了?我猜“注册表”是指您需要“dijit/registry”? 你试过 registry.byNode 吗?

【讨论】:

以上是关于自定义小部件内的 dojo 小部件的可寻址性的主要内容,如果未能解决你的问题,请参考以下文章

自定义小部件中的 dojo 数据网格未呈现

JavaScript 自定义Dojo小部件

DOJO:onClick 并不总是在自定义小部件中调用

Dojo Validation TextArea 小部件在无效时如何突出显示?

Dojo 选择小部件验证

获取元素内的所有小部件