码迷,mamicode.com
首页 > 其他好文 > 详细

avalon学习笔记ui篇-datepicker篇

时间:2015-04-28 22:36:39      阅读:309      评论:0      收藏:0      [点我收藏+]

标签:

一、介绍

  首先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>说明:默认情况下,日历显示方式从周一到周日,显示一个月份,输输入域不允许为空,点击nextpre切换月份时,默认切换一个月,并且不可通过下拉框切换月份和年份</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配置allowBlanktrue,使得输入域可以为空,与第一个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未完待续--->

    





avalon学习笔记ui篇-datepicker篇

标签:

原文地址:http://www.cnblogs.com/Zjingwen/p/4464148.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!