2

IBM 的 Dojo 和 iWidgets:
所以我的 iWidget 代码如下:

onEdit : function() {

                    dojo.require(["dijit/Dialog", "dojo/dom"], function(Dialog, dom){
                        var node = dom.byId("makeADialog");
                        var myDialog = new Dialog({ title:"From Source Node" }, node);
                        myDialog.show();
                    });


                },

当我运行这个 - chrome浏览器控制台显示:

   com.ibm.mm.iwidget.widget.IWidgetWrapperExtendedImpl     IWidgetWrapper._handleEventInternal: widget: testWidget, eventName: onedit, HandleEventException: TypeError: Object [object Array] has no method 'split'

怎么了?

4

1 回答 1

0

如评论中所述,问题出在您的语法上。由于您使用的是包含模块 ( dojo.require()) 的旧方式,这也意味着您必须使用旧语法,而不是新语法。

这意味着您应该编写如下代码:

onEdit : function() {
  var Dialog = dojo.require("dijit.Dialog");
  var node = dojo.byId("makeADialog");
  var myDialog = new Dialog({
    title: "From Source Node"
  }, node);
  myDialog.show();
},
于 2014-08-19T06:55:52.690 回答