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

具体实现方案:

  1. var cR=dijit.byId("cR");
  2. var ns=new ntms.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()不能进行重新分析上层节点。

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

转载于:https://blog.51cto.com/caols0621/553377

dojo动态创建widget相关推荐

  1. 渲染元素中动态创建div来渲染html dom组件,是需要将element元素对象return返回的(也支持直接返回ht的widget、ui等视图view组件),刷新重新加载图纸

    如下面所示,动态创建的div,设置了id后,浏览器也能看到,但是刷新(并非刷新浏览器页面)重新加载图纸,div会被自动移除及重新创建,合情合理,因为是随着渲染元素机制走的. 所以在创建div之前判断浏 ...

  2. python创建类的实例方法-Python中动态创建类实例的方法

    简介 在Java中我们可以通过反射来根据类名创建类实例,那么在Python我们怎么实现类似功能呢? 其实在Python有一个builtin函数import,我们可以使用这个函数来在运行时动态加载一些模 ...

  3. Javascript:DOM动态创建元素实例应用

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...

  4. 新建异常并处理java_java – 动态创建异常的工厂模式

    我创建了Exception xml并动态创建并抛出异常. com.package.CheckedException Checked Exception Message com.package.UnCh ...

  5. SpringBoot集成Quartz实现定时任务的动态创建、启动、暂停、恢复、删除。

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 作者:毅大师 blog.csdn.net/qq_39648 ...

  6. Angular动态创建组件之Portals

    本文主要介绍使用Angular api 和 CDK Portals两种方式实现动态创建组件,另外还会讲一些跟它相关的内容.如:Angular多级依赖注入.ViewContainerRef,Portal ...

  7. asp.net 包含动态创建控件的容器如果要切换显示/隐藏不要用 Visible 属性

    asp.net 包含动态创建控件的容器如果要切换显示/隐藏不要用 Visible 属性 就是不用 XXX.Visible = false;  // true 因为这样该容器及其子控件会彻底的从页面上消 ...

  8. [原]动态创建Web控件制做计算器

    最近参加了Web基础开发的培训,收获不少,做了一个练习,在后台动态创建控件制作了一个简单功能的计算器.程序中控件创建好以后,往往不能放在想要的位置,前台的布局非常麻烦,我用Table.TableRow ...

  9. 《深入浅出MFC》系列之动态创建

    /*************************************************************************************************** ...

最新文章

  1. 测试php性能和mysql数据库性能的工具_和找出瓶颈的方法_php面试基础题
  2. NBT-2019-华大发布全球最大人体肠道细菌基因组集研究成果
  3. 【2021年度训练联盟热身训练赛第二场】Tip to be Palindrome(python)
  4. java 鼠标停留时,[Java教程]鼠标悬浮停留三秒 显示大图_星空网
  5. sizeof和strlen的区别(其中涉及NUL的讲解)
  6. 关于编写流程的一些经验
  7. 360浏览器收藏夹_换了一台电脑,浏览器收藏的网站不见了,咋办?
  8. dns服务器的配置与管理
  9. pthread_join()函数理解实验
  10. 移动端Vue3框架demo
  11. Cloud 2.0时代,华为云EI助力内蒙煤焦化产业走向智能
  12. GALGAME文字提取agth v2008.11.20汉化版
  13. JavaScrpt LRC歌词同步 和 es6 的 fetch 的 async/await 和 promise 两种写法
  14. python 实现表情迁移
  15. 服务器安装系统路径,裸金属服务器安装多路径软件
  16. 省对应的市区经纬度信息
  17. 一个绝对有用的网站!
  18. 互联网日报 | 华为云年交易额超10亿元;恒大汽车拟申请科创板上市;李彦宏创立生命科学公司“百图生科”...
  19. 【Python零基础快速入门系列 | 07】浪漫的数据容器:成双成对之字典
  20. 一台显示器,两台不同的局域网计算机的切换需求

热门文章

  1. POJ 1887 (DP)
  2. freemarker处理嵌套属性是否为空的判断
  3. ADO.NET - Optimistic Pessimistic Concurrency
  4. pytorch之---max()函数
  5. CFA在线计算机,注意!CFA考场上只能携带这种计算机!
  6. cactus java_Cactus入门
  7. 如何在github上找到自己想要的代码_如何在 GitHub 上找到免费且实用的软件?
  8. 获取滑动条高度_HexMap学习笔记(三)——海拔高度与阶梯连接
  9. Python数据结构与算法(2.7)——跳表
  10. ioswebview混编_iOS与H5混编--优秀的第三方框架WebViewJavascriptBridge