切换导航
首页
技术问答
编程语言
前端开发
移动开发
开发工具
程序设计
行业应用
CMS系统
服务器
频道导航
▸ PHP
▸ Java
▸ Java SE
▸ Python
▸ C#
▸ C&C++
▸ Ruby
▸ VB
▸ asp.Net
▸ Go
▸ Perl
▸ netty
▸ Django
▸ Delphi
▸ Jsp
▸ .NET Core
▸ Spring
▸ Flask
▸ Springboot
▸ SpringMVC
▸ Lua
▸ Laravel
▸ Mybatis
▸ Asp
▸ Groovy
▸ ThinkPHP
▸ Yii
▸ swoole
▸ HTML
▸ HTML5
▸ JavaScript
▸ CSS
▸ jQuery
▸ Bootstrap
▸ Angularjs
▸ TypeScript
▸ Vue
▸ Dojo
▸ Json
▸ Electron
▸ Node.js
▸ extjs
▸ Express
▸ XML
▸ ES6
▸ Ajax
▸ Flash
▸ Unity
▸ React
▸ Flex
▸ Ant Design
▸ Web前端
▸ 微信小程序
▸ 微信公众号
▸ iOS
▸ Android
▸ Swift
▸ Hybrid
▸ Cocos2d-x
▸ Flutter
▸ Xcode
▸ Silverlight
▸ cocoa
▸ Cordova
前端之家
Dojo
系统优化之Dojo优化策略--页面加载机制优化
系统优化之Dojo优化策略--页面加载机制优化
2019-11-18
Dojo
前端之家
前端之家
收集整理的这篇文章主要介绍了
系统优化之Dojo优化策略--页面加载机制优化
,
前端之家
小编觉得挺不错的,现在分享给大家,也给大家做个参考。
随着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变的越来越灵活,越来越好用。
上一篇:require, define and parse in the
下一篇:代码分享 , Dojo中menu的简单使用
猜你在找的Dojo相关文章
dojo/Deferred类和dojo/promise类的使用
参考博客:https://blog.csdn.net/blog_szhao/article/details/50220181 ...
作者:前端之家 时间:2020-08-01
设置查询以搜索dojo数据网格的所有字段
我有一个包含多个字段的Dojo DataGrid.我目前正在设置查询一次搜索一个字段,如下所示: gr...
作者:前端之家 时间:2020-08-01
dojo – 为JsonRestStore设置HTTP Accept标头
我正在使用JsonRestStore,但想为它添加一个自定义Accept标头.最好的方法是什么? 这与diji...
作者:前端之家 时间:2020-08-01
dojo.query不适用于包含波形符(〜)字符的属性选择器
我需要选择一个给定其URL的链接节点.使用属性选择器的效果非常好,除了少数几个url有tilda的...
作者:前端之家 时间:2020-08-01
带有JSONREST问题的Dojo增强型网格
我正在尝试使用Dojo JSONREST的增强网格,我遇到了一些问题. 我一直在寻找一些例子,但无法弄...
作者:前端之家 时间:2020-08-01
什么时候会发布Dojo 2.0?
我使用过Dojo 1.0,但我有一些与版本相关的问题: >什么时候会发布Dojo 2.0? >也是最...
作者:前端之家 时间:2020-08-01
dojo中的setSelected()DataGrid使前一个选择活动,即使对于带有selectionMode =“single”的网格也是如此
我有一个dojox.grid.DataGrid,我想以编程方式选择一行.我正在使用setSelected()这样做,它第...
作者:前端之家 时间:2020-08-01
dojo – 如何从dijit.form.Select中获取选项文本?
我的页面上有一个dijit.form.Select: <c:set var="qualId" value="${prev...
作者:前端之家 时间:2020-08-01
如何检查dojo.datagrid加载完成?
参见英文答案 > How to determine if a dojo grid has finished loading? ...
作者:前端之家 时间:2020-08-01
dojo – 扩展dijit.Tree中的所有节点
有没有一种很好的方法来扩展/关闭dijit.Tree中的所有可扩展节点? 对于那些寻找答案的人,请...
作者:前端之家 时间:2020-08-01
编程分类
HTML
HTML5
JavaScript
CSS
jQuery
Bootstrap
Angularjs
TypeScript
Vue
Dojo
Json
Electron
Node.js
extjs
Express
XML
ES6
Ajax
Flash
Unity
React
Flex
Ant Design
Web前端
微信小程序
微信公众号
最新文章
• dojo/Deferred类和dojo/pr
• 设置查询以搜索dojo数据网
• dojo – 为JsonRestStore设
• dojo.query不适用于包含波
• 带有JSONREST问题的Dojo增
• dojo – 动态隐藏dgrid中的
• 什么时候会发布Dojo 2.0?
• dojo中的setSelected()Dat
• dojo – 如何从dijit.form
• 如何检查dojo.datagrid加载
热门标签
更多 ►
关闭广告
单独headers
封装代码
提示错误
整数正则
非0开头
跳页
出页码
antd table
提示URL未注册
公众号支付
vue hash模式
iSlider
车牌键盘
循环图片
echarts 双折
左右布局
DllPlugin
对象创建
打字游戏
圈选
两栏
云函数
蒙版
ES2020
橱窗
无缝滚动轮播
色块碰撞
组件销毁
文档操作