首页
编程教程
编程导航
编程百科
编程问答
编程博文
编程实例
硬件设备
网络运营
软件教程
移动数码
办公软件
操作系统
人工智能
系统优化之Dojo优化策略--页面加载机制优化
Dojo
2019-11-18
随着Dojo的名声越来越大,更多的开发者选择使用Dojo作为前端开发的框架。虽然Dojo是一种异步框架,能够借助各种ContentPane
快速
的搭建起开发框架,并实现异步通信,但有时
一个
模块包含的
内容
过多,造成此
页面
的
内容
过多,打开该页时就会导致内存飙升,长时间没有响应等问题。下图所示为一业务模块的
页面
结构图。
在View区域中,包含了多个Widget。其中View区域是指代Dojo中的 StackContainer,而Widget则是Dojo中的ContentPane。每个 StackContainer可以包含多个ContentPane,并且可以通过 selectChild
方法
指定当前
显示
的Widget(也就是ContentPane中的
内容
)。
虽然Dojo采用StackContainer动态指定当前的ContentPane来实现
页面
的“异步”,但是由于其
加载机制
是在首次打开该
页面
时,一次性加载完全部资源,再通过控制每个ContentPane的
显示
和隐藏,来达到动态
显示
的
效果
。这样导致系统在首次打开此
页面
时,一次加载资源过多,系统长时间没有响应等问题,大大降低了
用户
体验。
为
解决
此问题,我们需要更改
页面
的加载逻辑,将原来的“
饥饿式
”加载,更改为“
按需式
”加载。那么我们应该如何操作呢?由于我们已经按照系统的业务逻辑将系统进行了模块划分,这大大简化了我们的操作步骤。我们仍然需要这些Widget作为独立的模块应用,并在系统初始化时将它们
注册
为组件。当我们需要打开
一个
业务模块时,只需要实例化特定的业务模块(Widget)就可以了,这样将系统资源加载的时间平均分配到各个模块中,就避免了一次性加载资源所产生的问题。
以上仅是Dojo可优化
内容
之一,如果你还想了解Dojo其它方面可优化的
内容
,欢迎留言,我们共同探讨并改进原来的方案,让Dojo变的越来越灵活,越来越好用。
相关文章
javascript – Dojo Grid – 在可编辑和不可编辑之间切换
我有一个网格,可以根据更大的树结构编辑小块数据.为了更容易...
javascript – 哪个框架(Jquery,Dojo,Raphael)更适合在教育视频游戏中实现SVG?
我即将开始开发一款教育性的视频游戏.我已经决定以一种我可以...
javascript – 将实数值绑定到Grails域属性(Dojo小部件发送的值)
我正在使用带有Grails2.3.9的Dojo1.9.DojoNumberTextBox小部...
arcgis api for javaScript1:本地部署
1.引言鉴于个人需求的转变,本系列将记录自学arcgisapiforja...
javascript – 为declare解释这个令人困惑的dojo教程语法
我正在阅读使用dojo’sdeclare进行类创建的语法.描述令人困惑...
客户端的JavaScript框架
我的团队由更多的java人员和JavaScript经验丰富组成.我知道这...