当前目录: avalon.js笔记
avalon.js路由功能–mmRouter.js

2016年5月24日  avalon.js笔记,前端资源   

mmRouter.js被作者称之为avalon的三柱臣之一( 路由,动画,AJAX) 首先解释一下什么是路由。网上解释了一堆也没看明白是什么意思,你可以把路由理解为我们平时上网使用的路由器,多台电脑上网其实也就是公用了一个路由器。 除了avalon.js的mmRouter.js网上还有很多插件或者框架也提供了路由功能,如director.js和angular.js也提供了路由功能,但是兼容性没mmRouter.js做的好。 经过测试mmRouter.js可以兼容IE7浏览器(IE6忽略)目前是兼容性最好的框架。   路由的效果 我们在构建网站后台架构时平时都用frame、frameset来实现,但是如果需要浏览器后退功能就会有问题,貌似不支持。 所以路由可以实现的效果是: 1,局部刷新 2,局部内容更新后,即使刷新也停留在当前页面,并且URL不变 3,在2的基础上,依然能使用...

使用requirejs加载avalon.js以及mmRouter路由

2016年5月20日  avalon.js笔记,前端资源   

requirejs  avalon.js requirejs avalon自带加载器也就是说可以像requirejs那样加载JS,事实上并不是这样,它也就只能加载自家的插件如mmRouter.js或者mmState.js如果你想加载jquery会报错,说明avalon自带的加载器是累赘。就连作者本人司徒正美也不推荐使用了在avalon2.0中也已经废除了。 作者推荐使用:webpack 这么高大尚的东西还需要安装nodejs环境才能使用,我们也可以选择requirejs来使用。 <script src="require.min.js"></script> <script> require.config({ paths: { avalon: 'avalon.shim' //注意这里为avalon自定义名称也只能是自定义为"avalon",因为avalon内部早就自定好了,jquery也是一样的也只能是"jquery" }, shim: { 'avalon': { exports: ...

avalon.js原理以及Object.defineProperty

2016年4月27日  avalon.js笔记   

avalon.js是基于Object.defineProperty实现的双向数据绑定的,但是对于IE6/7/8浏览器的不兼容就使用VBscript做兼容处理,这里就不考虑VB了,来介绍下Object.defineProperty封装属性访问器。 Object.defineProperty(obj, prop, descriptor) //待修改的对象,带修改的属性名称,待修改属性的相关描述 例子: var obj={}; Object.defineProperty(obj, "name", { //作用对象是obj,设置name属性(可能是修改或者添加属性名) value:undefined, //属性的默认值 writable:false, //属性是否可重写。可重写的含义包括:是否可以对属性进行重新赋值 enumerable:false, //属性是否可枚举。可枚举的含义包括:是否可以通过 for...in 遍历到,是否可以通过 Object.keys() 方法获取属性名称。 configuration:false, ...

avalon2.0笔记

2016年4月20日  avalon.js笔记,前端资源   

avalon笔记 介绍1.5.x笔记  https://www.xgllseo.com/?p=3699 ---------------------------------------------------------------------- avalon2.x下载地址:https://github.com/RubyLouvre/avalon 先来感受一下2.0的ms-*指令   更新此文章的时候avalon2.0直接是从1.5.6升级到了2.0,增加了什么和修改了什么 在下面的链接可以查看的到: https://github.com/RubyLouvre/avalon 1.x.x和2.x的比较:http://www.cnblogs.com/rubylouvre/p/5358820.html   1,去掉AMD内置加载器  //也就是说默认已经是shim版本的了 2,<div ms-click="@click">1</div>  //  现在要加@符号了(好无聊) 3,avalon.scan(document.getElementsByTagName('body')[0],[vm])  //现在第一个参数也要必须加了,第二个参数可选...

avalon案例

2016年4月17日  avalon.js笔记,前端资源   

选项卡:https://www.xgllseo.com/zp/ava/tab.html 幻灯片:https://www.xgllseo.com/zp/ava/slide.html