avalon学习笔记ui篇-datepicker篇

一、介绍

  首先avalon是我接触的第一个mvvm框架,angularjs也能实现基本同样的功能,但是老外的产物都是比较先进的,他们早已放弃在IE下摸爬滚打,作为大天朝的我们,还是必须要矜矜业业的伺候着IE6,这就是我为什么选择avalon,没用angularjs的原因。官方文档都是老写法,这让我忍不住深深的吐槽正美,好吧,维护一个框架是艰难的,正美加油吧。

二、日历插件篇datepicker

官方文档的参数:

  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <meta charset=‘utf-8‘/>
  5. <title>datepicker demo</title>
  6. <script src=‘avalon.js‘></script>
  7. </head>
  8. <body>
  9. <div class="demo-show" ms-controller="demo">
  10. <fieldset style="position: relative; z-index: 2">
  11. <legend>默认配置的单日历框</legend>
  12. <input ms-widget="datepicker"/>
  13. <p>说明:默认情况下,日历显示方式从周一到周日,显示一个月份,输输入域不允许为空,点击next、pre切换月份时,默认切换一个月,并且不可通过下拉框切换月份和年份</p>
  14. </fieldset>
  15. <fieldset style="position: relative; z-index: 1">
  16. <legend>默认配置的单日历框</legend>
  17. <input ms-widget="datepicker" data-datepicker-allow-blank="true"/>
  18. <p>说明:此demo配置allowBlank为true,使得输入域可以为空,与第一个demo做对比</p>
  19. </fieldset>
  20. <script>
  21. require(["datepicker/avalon.datepicker"], function(avalon) {
  22. var model = avalon.define("demo", function(vm) {
  23. })
  24. avalon.scan();
  25. })
  26. </script>
  27. </div>
  28. </body>
  29. </html>

1、首先avalonU使用了requireJS这个模块化管理工具

  1. require(["引用的模块"],function(){
  2. //具体代码
  3. })

2、日历插件依赖了avalonjs和avalon.datepicker.js这两个模块,官方文档,将avalonjs,作为全局依赖的模块

  1. <script src=‘avalon.js‘></script>

avalon.datepicker.js模块的依赖

  1. require(["datepicker/avalon.datepicker"],function(){
  2. //在这里引用了avalon.datepicker模块
  3. })

如果不将avalon设置为全局依赖的模块,那么写法就是

  1. require(["avalon","avalon.datepicker"],function(){
  2. //依赖了avalon.js和avalon.datepicker
  3. })

3、在html引入即可

  1. <input ms-widget="datepicker"/>

将这一行代码插入你所需要的地方,日历插件就会生效。

三、新写法

avalon更新过后,写法发生了一些改变,但是官方ui没有更新。

1、html写法

  1. //Basics.html
  2. <!DOCTYPE html>
  3. <html>
  4. <head lang="en">
  5. <meta charset="UTF-8">
  6. <title></title>
  7. </head>
  8. <body>
  9. <div ms-controller="datebat">
  10. <input ms-widget="datepicker"/>
  11. </div>
  12. </body>
  13. <script src="bower_components/requirejs/require.js" data-main="Basicsmain.js" defer async="true"></script>
  14. </html>

2、js写法

  1. //Basics.js
  2. require([‘avalon‘,‘avalon-date‘],function(avalon){
  3. avalon.ready(function(){
  4. var datemodule = avalon.define({
  5. $id: ‘datebat‘
  6. });
  7. avalon.scan()
  8. })
  9. })

3、require配置

  1. //Basicsmain.js
  2. require.config({
  3. paths : {
  4. ‘avalon‘ : ‘bower_components/avalon/min/avalon.min‘,
  5. ‘avalon-date‘ : ‘bower_components/avalononiui/datepicker/avalon.datepicker‘
  6. }
  7. });
  8. require([
  9. ‘app/Basics.js‘
  10. ]);//require我不是很熟悉,希望大神不要吐槽,哈哈哈哈

四、使用avalonUI,所需要的准备工作

1、引用avalonjs。

2、引用对应UI,的avalonUI的js

3、使用requirejs依赖模块。

4、不要用老写法,说不定那天正美不开心,把老写法删了,那么就悲剧了。

5、下载好avalonui,这个ui有点大。我还没找到优化方法。

6、下载avalon。

7、下载requirejs。

gitcafe代码地址:https://gitcafe.com/Zjingwen/demo.git    具体位置在demo / 2015 / 4 / 28 / TheCalendarAvalon,我稍微修改了以下css效果有点不同。

<---2015/4/28未完待续--->

来自为知笔记(Wiz)

时间: 2024-10-21 18:29:07

avalon学习笔记ui篇-datepicker篇的相关文章

avalon学习笔记ui篇-如何将avalon默认的amd模型禁止,以及用require重写。

一.如何禁止avalon自带的amd模型 1.采用avalon.shim.js这个文件,这个文件删除了原本自带的amd模型,不需要手动删除,修改. 2.打开avalon.js这个文件,搜索avalon.config,将true改为false. 二,下载text.js和css.js 1.因为avalonUI依赖了html文件和css文件. 2.并且将text.js和css.js,在配置中预加载 priority:['text','css'] 三.完整配置项 require.config({ //b

SaltStack 学习笔记 - 第十二篇: SaltStack Web 界面

SaltStack 有自身的用python开发的web界面halite,好处是基于python,可以跟salt的api无缝配合,确定就比较明显,需要个性化对web界面进行定制的会比较麻烦,如果喜欢体验该界面的可以参考下面的文章  http://rfyiamcool.blog.51cto.com/1030776/1275443/ 我是运用另一个python+php来进行web开发,具体需要的工具有在我的另一篇文章里面介绍过,这里再重新进行整个开发介绍 首先介绍php 跟python通信的工具 pp

现代C++学习笔记之二入门篇2,数据转换

static_cast:    这种强制转换只会在编译时检查. 如果编译器检测到您尝试强制转换完全不兼容的类型,则static_cast会返回错误. 您还可以使用它在基类指针和派生类指针之间强制转换,但是,编译器在无法分辨此类转换在运行时是否是安全的. dynamic_cast: dynamic_cast在运行时检查基类指针和派生类指针之间的强制转换. dynamic_cast 是比 static_cast 更安全的强制类型转换,但运行时检查会带来一些开销. const_cast:    con

现代C++学习笔记之二入门篇1

现代 C++ 强调: 基于堆栈的范围,而非堆或静态全局范围. 自动类型推理,而非显式类型名称. 智能指针而不是原始指针. std::string 和 std::wstring 类型(请参见 <string>),而非原始 char[] 数组. 标准模板库 (STL) 容器(例如 vector.list 和 map),而非原始数组或自定义容器. 请参见 <vector>.<list> 和 <map>. STL 算法,而非手动编码的算法. 异常,可报告和处理错误条

《MyCat 学习笔记》第八篇.数据分片 之 求摸运算分片

1 应用场景 Mycat 自带了多套数据分片的机制,其实根据数值取摸应该是最简单的一种. 优点:数据离散概率较为平均,可以有效的提高应用的数据吞吐. 缺点:比较明显,后期数据运维与迁移比较困难.好在Mycat有对应的解决方案,具体后期验证或可直接参考Mycat权威指南相应章节. 2 环境说明 参考  <MyCat 学习笔记>第六篇.数据分片 之 按月数据分片  http://www.cnblogs.com/kaye0110/p/5160826.html 3 参数配置 3.1 server.xm

《Mycat学习笔记》 第三篇. MySql 主从同步异常后,主从切换

1)系统环境说明 MySql 5.5 主从节点 127.0.0.1:3306   主结点,为验证主从切换效果,手动停止服务 127.0.0.1: 3307    从结点 1 127.0.0.1:338     从结点 2 ,为验证主从切换效果,在主结点停止后,新增两个记录. MyCat 1.5 schema.xml 配置 具体配置说明,参考上篇: <Mycat学习笔记> 第二篇. MySql 读写分离与日志分析——主从多结点 <dataHost name="localhost1

avalon学习笔记(五)

五,搭建一个工程环境 到此,基础的理论都搞得差不多了,是时候做个实际的例子 换个教程,根据<avalon学习教程>系列--<1.引入avalon>建立一个新项目. 我用的vs2013community版 首先open->web site,指向一个空目录 新建两个folder,一个modules,一个reference. Modules里存放网站的一个一个模块,reference里面放上我们要用到的第三方库,比如avalon,还有常用的requirejs,jquery等等 按照

golang学习笔记:golang 语法篇(二)

在语法篇(一)中学习了go中基本的数据类型.变量.常量等组成语言的基本要素,在这一节中将会学习如何将这些元素组织起来,最终写成可以执行的代码. 在这一部分包括: go中的流程控制语句: go中函数的用法: go特殊的错误处理方式: Golang中的流程控制语句 在具体编程的时候免不了需要使用一些特殊的语句实现某些功能,比如使用循环语句来进行迭代,使用选择语句控制程序的执行方式等.这些语句在任何一门程序设计语言 中都会有支持,golang中除了支持常用的循环,条件选择语句以外,还支持跳转语句,下面

《Mycat学习笔记》 番外篇一.客户端使用latin1字符集,后端MySQL为UTF8字符集,MyCat日志分析。

其实这个番外篇比较无聊——即客户端为lantin字符集,后面MySQL为U8字符集,MyCat在中间到底会起什么作用. 再说下本次验证的环境: Mac OS 10.11.2 MySQL 5.6 MyCat 1.5 OK,开始我们的验证工作. 1) 由于数据库与操作系统已被默认设置为U8编码,计划通过修改Mysql  “character_set_client” 参数调整客户端字符集配置进行验证. 关于MYSQL字符集较全面的介绍,请参考 <mysql_query("set names gb