Javascript 以Dojo声明方式插入动态PHP

Javascript 以Dojo声明方式插入动态PHP,javascript,dojo,Javascript,Dojo,是否可以将动态声明性代码插入例如borderContainer?我有一个borderContainer,想用类似'/modules/example/example.php':(我已经将输出打印到控制台)的文件内容替换“center”内容 有没有可能让这一切顺利进行 这实际上比你想做的要简单得多。dijit/layout/ContentPane小部件是您在任何容器中使用的组件(dijit/layout/TabContainer或dijit/layout/BorderContainer)实际上有一个

是否可以将动态声明性代码插入例如
borderContainer
?我有一个
borderContainer
,想用类似
'/modules/example/example.php'
:(我已经将输出打印到控制台)的文件内容替换“center”内容


有没有可能让这一切顺利进行

这实际上比你想做的要简单得多。
dijit/layout/ContentPane
小部件是您在任何容器中使用的组件(
dijit/layout/TabContainer
dijit/layout/BorderContainer
)实际上有一个名为
href
的属性,您可以使用它。例如:

<div data-dojo-type="dijit/layout/TabContainer" data-dojo-props="region:'center'" id="centerPanel">
    <div data-dojo-type="dijit/layout/ContentPane" title="lala" data-dojo-props="href: 'myPage.php'"> yeahh </div>
</div>

是的

代码不起作用的原因可能是因为您正在将一个HTML页面传递给
addChild()
函数,该函数只接受您可以在中阅读的小部件。

谢谢您的回答!它已经解决了,但是下一个问题(非常内聚)是
href
没有看到我的include文件(比如我的语言文件)。是包含所有必要文件的唯一解决方案吗?对我来说,这听起来不是一个好的解决方案。你说的语言文件是什么意思?它们是如何包含的?我有一个
index.php
,其中包含了我的语言文件(文件,php,其中包含常量)。在此之后,我初始化默认启动屏幕(
BorderContainer
)。我使用建议的
href
在Dojo中包含文件,但包含后,我的常量(包含在索引中)不再工作(它是一个“单页应用”)。另外,我的
.on(clickevents)
href
文件中不起作用。那么,我是在做一些非常错误的事情,还是我想要实现Dojo的方式与它应该做的不一样?那么这些文件就是JavaScript文件?尝试查看
dojox/layout/ContentPane
,它有一个名为
executeScripts
的属性,用于计算内容所有文件都是PHP格式的。当我使用
href
属性时,PHP会像预期的那样进行解析,但包含的内容不见了。我认为这是因为它是一个XHR请求。我能想到的唯一解决办法是创建一个单独的包含文件(PHP文件,我在其中包含我所有的东西)。
require(["dojo/text!../modules/" + file], function(file){
    console.log(file);
    registry.byId(mainLayout).addChild(file);
});
<div data-dojo-type="dijit/layout/TabContainer" data-dojo-props="region:'center'" id="centerPanel">
    <div data-dojo-type="dijit/layout/ContentPane" title="lala" data-dojo-props="href: 'myPage.php'"> yeahh </div>
</div>