0

私は次のコードを持っています:

require(["dijit/registry", "dijit/layout/BorderContainer", "dijit/layout/ContentPane", "dijit/form/Button", "dojo/query", "dojo/domReady!"], function(registry, BorderContainer,  ContentPane, Button, query){

var appLayout = new BorderContainer({
    design: "sidebar"
}, "appLayout");

var dataArea = new ContentPane({
    region: "center",
    content: '<div id="grid"></div>'
});

var actionArea = new ContentPane({
    region: "bottom",
    id: "actionarea",
    content: '<button id="computer"></button>'
});

var treeArea = new ContentPane({
    region: "left",
    id : "treearea",
    content: '<div id="treeroot"></div>',
    splitter: true
});

var button = new Button({
    label: "Load Computer tree"
}, "computer");

appLayout.addChild(treeArea);
appLayout.addChild(dataArea);
appLayout.addChild(actionArea);
appLayout.startup();
button.startup();
});

すべてのレイアウトが正しく読み込まれますが、ボタンが読み込まれません。

button.startup() 呼び出しの前に #computer をクエリしようとしましたが、うまく読み込まれました。

appLayout.addChild(treeArea);
appLayout.addChild(dataArea);
appLayout.addChild(actionArea);
appLayout.startup();

console.log(query("#computer"));

button.startup();
});

助けてくれてありがとう

4

1 に答える 1

1

マークアップでボタンを作成しないでください

var actionArea = new ContentPane({
    region: "bottom",
    id: "actionarea"
});

ボタンウィジェットをコンテンツとして設定するだけです

var button = new Button({
    label: "Load Computer tree"
}); 
actionArea.set('content', button);

これが実際の例です: http://jsfiddle.net/cswing/V6qK2/

于 2012-05-23T10:25:30.847 に答える