Dojo   发布时间:2022-04-21  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了dojo动态创建widget大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

场景:最近需要在动态生成dojo widget,但是与以前不同的是,新建的这几个dojo widget是在一个dijit.layout.borderContainer下层,包含一些只有container dojoType的region属性

具体实现方案:

 
 
  1. varcR=dijit.byId("cR");
  2. varns=newntms.s.SN();
  3. ns.attr("region","top");
  4. ns.attr("class","s_n");
  5. cR.addChild(ns);
  6. cR.startup();

解释如下:

1,第一行,注意需要使用dijit.byId()来取得dijit实体,不能使用dojo.byId().在 Dojo 体系中,如果想通过 Dijit 的 id 来获得 Dijit 实体,只能通过 dijit.byId()。而作用与 document.getElementById() 相同的 dojo.byId(),无法获得任何 Dijit 实体。

2,第二行,创建自定义的dijit实体。这是获得dijit实体的第二种方法

3,第三行,第四行,设置dijit实体的属性包括borderContainer的region属性,还有对应的css值。

4,第五行添加该dijit实体到已有节点下面。

5,第六行,最重要的一行代码,启动上层digit实体的startup()函数进行解析。如果启动ns.startup()则不能解析出上层的region属性

--------------------------------------------------------------------

这种场景在我们使用dojo进行客户端应用时,为加快启动速度,延迟加载一些dojoType类型的tag。

如果是静态创建dojoType的widget,则很容易。

如果使用静态方式动态创建widget,则这种场景不能实现,因为使用dojo.parser.parse()不能进行重新分析上层节点。

只好使用这种动态创建方式

大佬总结

以上是大佬教程为你收集整理的dojo动态创建widget全部内容,希望文章能够帮你解决dojo动态创建widget所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。