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 に答える