0

dojo 1.7 の mozilla ブラウザで基本的なポートレットを表示したいのですが、以下は実際に dojo API を使用してポートレットを作成せずに単純なテキストとしてデータを表示しています。誰が私が何をしているのか教えてもらえますか?

<!Doctype html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="../lib/dijit/themes/claro/claro.css"/>
<style type = "text/css">
@import "../lib/dojox/widget/Portlet/Portlet.css"</style>
<script src = "../lib/dojo/dojo.js" data-dojo-config = "async: true, parseOnLoad:true" >
dojo.require("..lib/dojox/widget/Portlet");
dojo.require("..lib/dijit/dijit");
</script>
</head>
<body class="claro">
<div data-dojo-type="dojox.widget.Portlet" title="A Simple Portlet">
<div data-dojo-type="dojox.widget.PortletSettings">
    This is a simple setting widget.
    Put Whatever you like in here
</div>
<div style="height: 100px;">
The contents of the portlet go in here.
</div>
</div>
</body>
</html>
4

1 に答える 1

1

dojox.widget.Portletソースコードを見てみましょう。AMD形式に書き換えられていないため、依存関係を解決できません。テストさえもうまくいきdojox/widget/tests/test_Portlet.htmlません。

この問題を回避するには、ローダーを同期モード定義に切り替えるasync: falseか、Dojo 1.7 のように定義を完全に省略します。同期モードがデフォルトです。

別の未解決の依存関係もあります。これは、 AMD モジュールdijit._Containerを要求する前に明示的に要求することで解決しましたdojox.widget.Portlet

dojo.require("dijit._Container");
dojo.require("dojox.widget.Portlet");

jsFiddle で実際の例を参照してください: http://jsfiddle.net/phusick/MWnYZ/

于 2012-05-08T11:48:04.973 に答える