我在Dojo中的内容窗格遇到问题,然后内容会出现一秒钟内容然后消失。我收到以下错误:
Uncaught ReferenceError: dijit is not defined index.php:22
dojo/parser::parse() error
Error
arguments: undefined
get stack: function () { [native code] }
message: "Tried to register widget with id==centerPane but that id is already registered"
set stack: function () { [native code] }
type: undefined
__proto__: d
我已经回答你可以销毁所有已注册ID的答案,但我在尝试时仍然收到错误。
var ids = ["contentPane"];
dijit.registry.forEach(function(w){
if(dojo.indexOf(ids,id)){
w.destroyRecursive();
}
});
和
var ids = ["contentPane"];
dijit.registry.forEach(function(w){
if(dojo.indexOf(ids,1)){ // 1 will be yourid it will get destroy
w.destroyRecursive();
}
});
如何解决此错误?
答案 0 :(得分:1)
解决了它,是一件简单的事情,但我会坚持回答以防万一其他人犯了我的错误。 我的原始代码:
<script>
require(["dojo/parser", "dijit/layout/BorderContainer", "dijit/layout/ContentPane"],
function (parser) {
parser.parse();
});
</script>
固定代码:
<script>
require(["dojo/parser", "dijit/layout/BorderContainer", "dijit/layout/ContentPane"]);
</script>
答案 1 :(得分:1)
当parseOnLoad设置为true时,我遇到了这个问题。根据我的理解,它可以启用Widget注册。一旦我禁用错误就消失了。
<script type="text/javascript">
var dojoConfig = {
parseOnLoad:false,
.....