dojo(五):Dijit-基本组件
转自:http://blog.csdn.net/trendgrucee/article/details/12679949
1、简介
Dijit是Dojo的UI框架,包含一系列丰富的组件以帮助你快速开发Web程序。考虑到大部分Web页面都是表单元素(指允许用户输入的组件,通常会被传送到服务器进行处理)。Dijit有很多基于表单的组件,包括按钮、文本框、可校验文本框、进度条等等。
另外,Dijit包含了一个可用的主体框架来定义Dijit的视觉效果。Dijit有四个主题:Claro,Tundra,Soria和Nihilo.
2、使用Dijit主题
使用Dijit的主题,需要做两件事情:引入主题的css文件、在页面的body元素上设置CSS clsass属性。你也可以把主题的CSS属性设置在任何的块级元素上。
- <head>
- <meta charset="utf-8">
- <title>Hello Dijit!</title>
- <!-- load Dojo -->
- <script src="dojo-release-1.9.1/dojo/dojo.js" data-dojo-config="async:true"></script>
- <link rel="stylesheet" href="dojo-release-1.9.1/dijit/themes/claro/claro.css">
- </head>
- <!-- set the claro class on our body element -->
- <body class="claro">
- <h1 id="greeting">Hello</h1>
- <button>click me</button>
- </body>
3、以Button为例介绍基本组件的用法
声明式方式创建Button,看例子:
- <body class="claro">
- <div id="btn1" data-dojo-type="dijit/form/Button"
- data-dojo-props="label:'click me',onClick:function(){console.log('yes,clicked');}">
- </div>
- <script>
- require(["dijit/form/Button","dojo/parser","dojo/domReady!"]);
- </script>
- </body>
- data-dojo-type:指定我们要使用dijit的Button控件
- data-dojo-props:设置Button控件的属性,可以查看Button的Api确定有哪些属性可以设置(不仅属性可以设置,方法也可以设置)
- 可以看到我们在最后的一段script中不仅引入了需要的Button模块,还引入了dojo/parse模块,如果不引入此模块,按钮无法显示,并且事件无法处理。关于dojo/parser模块的作用,我们会在下一篇博客中介绍。现在你只需要知道如果使用声明式使用dijit控件,需要在引入dojo.js的地方时,通过data-dojo-config设置属性parseOnLoad:true(官方文档上这么说,上面的例子没有设置这个属性也能正常运行,待确认),并且引入dojo/parser模块。
编程式方式创建Button,看例子:
- <div id="btn2"></div>
- <script>
- require(["dijit/form/Button","dojo/domReady!"],function(Button){
- var button = new Button({
- label:'Button2',
- onClick:function(){console.log("Button2 Clicked.");}
- },"btn2");
- button.startup();
- });
- </script>
- 查询Button的api查看new Button的参数设置。
- startup函数:编程式方式创建一个组件之后,应该总是调用组件的startup()方法。编程式创建组件的一个常见的错误就是忘记调用startup()方法。
dojo(五):Dijit-基本组件的更多相关文章
- Android实训案例(五)——四大组件之一ContentProvider的使用,通讯录的实现以及ListView的优化
Android实训案例(五)--四大组件之一ContentProvider的使用,通讯录的实现 Android四大组件是啥这里就不用多说了,看图吧,他们之间通过intent通讯 我们后续也会一一的为大 ...
- 微信小程序把玩(二十五)loading组件
原文:微信小程序把玩(二十五)loading组件 loading通常使用在请求网络数据时的一种方式,通过hidden属性设置显示与否 主要属性: wxml <!----> <butt ...
- 微信小程序把玩(十五)checkbox组件
原文:微信小程序把玩(十五)checkbox组件 不得不吐糟下checkbox默认样式真是有点略丑!!!checkbox组件为一个多选框被放到checkbox-group组中,并在checkbox-g ...
- Vue(基础四)_总结五种父子组件之间的通信方式
一.前言 这篇文章主要总结了几种通信方式: 1.方式一:使用props: [ ]和$emit() (适用于单层通信) 2.方式二:$attrs和$listeners(适用于多层) 3.方式三:中央处 ...
- dojo 五 配置dojoconfig
官方教程:Configuring Dojo with dojoConfig例子: <-- set Dojo configuration, load Dojo --> <script& ...
- 【React自制全家桶】五、React组件的生命周期函数详解
一.总览React组件的生命周期函数 什么是生命周期函数:简单的来说就是 在某个时刻会自动执行的函数 二.React的生命周期函数主要由四块组成 分别是:组件初始化.组件挂载.组件更新.组件卸载 三. ...
- Django框架(十五)—— forms组件、局部钩子、全局钩子
目录 forms组件.局部钩子.全局钩子 一.什么是forms组件 二.forms组件的使用 1.使用语法 2.组件的参数 3.注意点 三.渲染模板 四.渲染错误信息 五.局部钩子 1.什么是局部钩子 ...
- 我心中的核心组件(可插拔的AOP)~第五回 消息组件
回到目录 之所以把发消息拿出来,完全是因为微软的orchard项目,在这个项目里,将公用的与领域无关的功能模块进行抽象,形成了一个个的组件,这些组件通过引用和注入的方式进行工作,感觉对于应用程序的扩展 ...
- NHibernate系列文章十五:NHibernate组件
摘要 前面文章介绍了NHibernate对简单.net数据类型的映射对照表.NHibernate也可以映射复杂数据类型,这里介绍通过组件映射NHibernate值对象. 1. NHibernate引用 ...
随机推荐
- [译] ASP.NET 生命周期 – ASP.NET 上下文对象(六)
使用 HttpApplication 对象 ASP.NET 框架中的许多类都提供了许多很方便的属性可以直接映射到 HttpContext 类中定义的属性.这种交叠有一个很好的例子就是 HttpAppl ...
- 微软职位内部推荐-Sr Development Lead-OSG-IPX
微软近期Open的职位: Job Summary:Be part of Microsoft's strategy to deliver a great input experience across ...
- 正则表达式通过Unicode属性匹配
原文链接:http://zochen.iteye.com/blog/690716 Unicode 编码并不只是为某个字符简单定义了一个编码,而且还将其进行了归类. \pP 其中的小写 p 是 prop ...
- [转载]C# 中Web.config文件的读取与写入
asp.net2.0新添加了对web.config直接操作的功能.开发的时候有可能用到在web.config里设置配置文件,其实是可以通过程序来设置这些配置节的. asp.net2.0需要添加引用: ...
- uva 10105
数学 杨辉三角 多项式系数 #include <cstdio> int f[13] = {1}; void init() { for (int i = 1; i < 13; i+ ...
- KafkaSpout: PartitionManager的行为分析
KafkaSpout的核心逻辑都是由PartitionManager来实现的. 但是这个类实现时候需要考虑的东西有些多,0.92至0.93,至当前(2015.3.14)的master一直在变化.在这里 ...
- APP 上传之后出现"invalid binary" 问题解决汇总
背景 5.1 号开始 App 审核开始强制支持 iPhone5,并禁止使用 UDID. 问题 上传 app 后一直处于 Invalid Binary 状态,并且收到一封邮件说 Non-public A ...
- jsp request.getParameterValues获取数组值代码示例
tt.jsp <form action="tt2.jsp" method="POST"> <select name="two&quo ...
- 初试docker以及搭建mysql on docker
前一阵阅读了google的borg论文,在最后的related works和总结中发现了kubernetes.从论文中了解的kubernetes这个东西很有意思,按照论文所说,它的实现有希望解决an ...
- SDUT 2523 OOXX
http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2523 思路 :就是先统计一下方阵中1多少2多少 ...