如何使用 PHP 动态加载 dojos 1.8 模块?
Posted
技术标签:
【中文标题】如何使用 PHP 动态加载 dojos 1.8 模块?【英文标题】:How to dynamic loadind dojo's 1.8 modules with PHP? 【发布时间】:2012-11-20 11:43:11 【问题描述】:我的主页中有 dojox/layout/ContentPane 小部件。这个小部件动态加载任何 Hrefs,其内容包含由 php 形成的 javascript 和 html。 Javascript
$scriptCode .= 'require(["' . $scriptFile . '", "dojo/ready"], function(PageScript, ready)' . "\n";
$scriptCode .= ' ready(function()' . "\n";
$scriptCode .= ' setTimeout(function()new PageScript(' . $scriptOptions . '); , 0);' . "\n";
$scriptCode .= ' );' . "\n";
$scriptCode .= ');' . "\n";
PageScript() 是一个dojo 类绘制小部件和页面逻辑。问题在于,当加载其他href时,旧页面的对象部分地获得了新对象的属性。绘图后移除页面对象,销毁小部件无助于解决问题。
页面脚本
define(['dojo/_base/declare', 'common/widget/Card'], function (declare, pageWidget)
return declare(pageWidget,
constructor: function(options)
);
);
PS。对不起我的英语不好
【问题讨论】:
【参考方案1】:嗯,您的代码和问题没有多大意义。如果您想将动态创建的内容加载到 ContentPane 中,最简单的方法是传入一个 dojo 模板。只需使用data-dojo-type
创建您需要的任何小部件。如果您需要在小部件加载时运行代码,请将其放入小部件的 startup
函数中。
【讨论】:
以上是关于如何使用 PHP 动态加载 dojos 1.8 模块?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 XPages Domino 9 预览版中直接引用 Dojo 1.8 文件?
如何在 dojo 中加载 js 小部件文件? registerModulePath 工作,但在 1.8 包中不工作 - 立即需要帮助