DOJO :无法使用新关键字初始化 js
DOJO : Not able to initialize the js Using New Keyword
我有一个链接,如果我点击链接,我需要使用如下所示的新关键字调用另一个 Js。
<a style="padding: 2px 15px" data-dojo-attach-event="click:display">Form</a>
display : function(){
new com.cn.clb.dr.mytasks.BrandForm({
formInfo: brandForm,
brand: brandName
}, formPlacer).initialize();
}
这里第一次(第一次页面加载)上面的js调用完美,之后,我被点击了上面的js没有调用的链接。
在JS中,我包含了postcreate()和initialize()。
请告诉我如何调用 js。
根据 Dijit 告诉您正在尝试使用已注册的 ID 注册小部件的其他信息,您需要先销毁您创建的第一个小部件,然后再基于同一元素创建另一个小部件。
此外,传递给 widget 构造函数的第二个参数表示 srcNodeRef
,这是一个将被替换为 widget 自己的 DOM 的节点。 我在这里有点猜测,因为没有太多上下文,但您可能不想多次将相同的节点引用传递给它,因为它可能在第一次之后无效。
这是一个我希望更好地工作的示例,如果小部件存在于使用 destroyRecursive
的先前调用中,则会销毁该小部件,并使用placeAt
将小部件放置在父节点下,而不是使用 srcNodeRef
参数替换节点。
display : function(){
var parentNode;
if (this._displayWidget) {
parentNode = this._displayWidget.domNode.parentNode;
this._displayWidget.destroyRecursive();
}
else {
parentNode = formPlacer.parentNode;
}
this._displayWidget = new com.cn.clb.dr.mytasks.BrandForm({
formInfo: brandForm,
brand: brandName
}).placeAt(parentNode).initialize();
}
请注意,这目前没有考虑父节点中同级节点中同级之间的位置;应该可以相应地修改placeAt
调用。
最后我得到了修复,我们在 html 文件中使用 ID 属性,因此在 html 中使用数据 dojo-attach-point 而不是使用 ID。在此更改之后,它现在工作正常。
而不是使用 id 我使用数据道场连接点。
相关文章:
- 使用javascript函数在页面初始化后加载jquery
- 未捕获错误:无法在初始化之前调用方法;
- 如何在剑道网格初始化后设置pageSizes
- React redux初始化功能,无论状态变化如何
- 为什么可以't Protractor在自动初始化的Angular网站上查找Angular
- 尝试初始化()Spine's控制器和故障
- Angular.js延迟控制器初始化
- 对插件初始化后动态加载的元素进行样式设置
- Angular JS控制器初始化错误
- 在XMLHttpRequest之后重新初始化jQuery
- ember-js组件初始化不同的函数
- Youtube JavaScript API不是't正在初始化
- 函数无法识别初始化的变量
- datepicker引导程序再次初始化
- jquery数据表在初始化时设置宽度
- 如何使用app和secret进行安全的解析初始化
- javascript初始化一个没有new关键字的对象
- 在JS中,除了使用var关键字之外,还有其他方法来初始化变量吗?
- 数据表初始化关键字与官方示例不同
- DOJO :无法使用新关键字初始化 js