【问题标题】:Dojo's dojo/method programmatically?以编程方式使用 Dojo 的 dojo/方法?
【发布时间】:2010-10-01 08:51:01
【问题描述】:

有没有办法在 JavaScript 函数中以编程方式定义 dojo/method? (例如,而不是通过 script type="dojo/method" 在声明性小部件中定义它。)

【问题讨论】:

标签: javascript dojo


【解决方案1】:

只需在小部件上直接覆盖它。例如,如果您为abc 写了dojo/method,请这样做:

var myWidget = ...;
myWidget.abc = function(/* args from dojo/method */){
  // the body of dojo/method
};

【讨论】:

  • 你有机会对此进行扩展吗?
  • @Sevenearths 我不明白你的意思。使用 dojo/method 添加方法等同于将它们直接添加到对象(在本例中为小部件)。如果您不知道如何获取小部件对象,只需在 HTML 中使用“id”或“widgetId”命名,并在实例化它们时调用 dijit.byId("yourWidgetName") 来获取它。
【解决方案2】:

也许在你的情况下最好的选择是扩展小部件原型,这样做:

dojo.require("dijit.OneDijit");
dojo.extend(dijit.OneDijit, {
 newMethod:function(/* method args  */){
 // body of method
 }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    相关资源
    最近更新 更多