0

Dojo の新しい AMD 機能を使用して単純なタスクを実行しようとしていますが、画面にエラーが表示されず、結果が表示されません....

dojo リファレンス ガイドに記載されている最初のプログラム例 dijit.Tree を書き直したいと思いました。

<script type="text/javascript">
dojo.require("dojo.data.ItemFileReadStore");
dojo.require("dijit.Tree");

dojo.ready(function(){
  var store = new dojo.data.ItemFileReadStore({
      url: "{{dataUrl}}/dijit/tests/_data/countries.json"
  });

var treeModel = new dijit.tree.ForestStoreModel({
    store: store,
    query: {"type": "continent"},
    rootId: "root",
    rootLabel: "Continents",
    childrenAttrs: ["children"]
});

new dijit.Tree({
    model: treeModel
}, "treeOne");
});
</script>

AMD バージョンに:

<!DOCTYPE  HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <title></title>
    <link rel="stylesheet" href="js/dojo/dijit/themes/claro/claro.css" />
    <script src="js/dojo/dojo/dojo.js" data-dojo-config="async: true"></script>
    <script language="JavaScript">
    var param = new Array(null,["dojo/dom","dijit/tree","dojo/data/ItemFileReadStore","dijit/tree/ForestStoreModel","dojo/domReady!"]);
    require(param[1],function(dom,dtree,ifrs,fsm)
    {
        var store = new ifrs({url: "js/countries.json"});           
        var treeModel = new fsm({store: store,query: {"type": "continent"},rootId: "root",rootLabel: "Continents",childrenAttrs: ["children"]});

        new dtree({model:treeModel},"treeOne");
    });         
    </script>
</head>
<body class="claro">
<div id="treeOne">      
</div>
</body> 
</html>

Firebug は実行時エラーを通知しません。または、何かが不足していることを通知しません。ページは空のままです。何を間違えたの?!

4

1 に答える 1

0

主な問題は、どのように param 配列を作成し、配列の最初の値のみを使用するかです。

また、dojo.ready同じではありませんdojo/domReady!

require(["dojo/dom", "dijit/tree", "dojo/data/ItemFileReadStore", 
  "dijit/tree/ForestStoreModel", "dojo/ready"],
function(dom, dtree, ifrs, fsm, ready) {     
  ready(function() {

    ...

  });
});
于 2012-07-19T10:13:10.823 に答える