Dojo作为JavaScript的一个框架,其中有封装和很多逻辑的部件。最近在项目中主要开发前台,对页面的布局及css并不太熟悉的我,却有困扰。近来翻看那本《Dojo权威指南》,好好看了一下dojit.layout下的一组布局部件:ContentPane/ BorderContainer /StackContainer 。单从字面意思看,也能对这三个部件应该有些了解。
ContentPane,就是最基础的承载页面内容的布局部件,可以在里边嵌入静态或动态代码、HTML等等。而后面的两种Container即承载器、容器,这三者之间的关系可以理解为在后两者之中嵌入或拼组ContentPane,这样组合成一些逻辑复杂的页面。
BorderContainer,可以提供页面的上/下/左/右/中等格局样式,里面嵌入ContentPane即可。在StackContainer作为更高级一些的布局容器,有个形象的描述,就是“使用StackContainer就像播放幻灯片”,我们把一些ContentPane或BorderContainer及二者组合嵌入StackContainer中,然后通过代码控制选择当前stackContainer的child部件,即可单独显示某些可控页面,实现类似页面切换的效果。
当强健的Dojo封装好这些组件,还提供了一些API以供我们进行特殊编程,我们能够操作的很多,省去了很多css样式的忧愁,强大如此,也是我们开发人员的职责,为的是高效、便利、复用。