avalon define新老风格对比

1、老风格

  var array = [];

  var  vmdoel = avalon.define("id", function(vm){

    vm.aa = "aaa",

    vm.bb = "bbb",

    array.push(10),

    avalon.mix(vm, {aa:2,cc:3});

    vm.fun = function(){

    }

  });

2、新风格

  var vmodel = avalon.define({

    $id: id,

    aa: aaa,

    bb: bbb

  })

  vmodel.$watch("aa", callback)

3、新老风格对比

  (1)区分vm和vmodel,vm只能定义属性,vmodel只能更新里面的属性或执行它的方法

  (2) array.push(10),会执行两次

  (3)avalon.mix()  在IE6-8会报重复定义

4、 IE6-8重复定义

  产生原因在IE6-8下,使用VBScript生成vmodel,VBScript变量的命名规则为:

    * 变量名只能由字母、数字和下画线组成;

    * 变量名的第一个字母必须是英文字母;

    * 变量名的有效字符长度为255个;

    * 不能用VBScript的保留字(关键字)作变量名,但可以把保留字嵌人变量名中。

  

  VBScript不区分变量名和其他名字中字母的大小写,Hello, hello, HELLO指的都是同一个名字,也就是说,在定义一个变量后,只要字符相同,则不管其大小写是否相同,指的都是这个变量。

  解决办法不要在vmodel的初始化中声明只有大小写不同的变量。为了便于阅读,建议使用小驼峰的命名规则命名变量。var vm = avalon.define({ $id: "demo", firstName: ""});

时间: 2024-12-26 19:11:15

avalon define新老风格对比的相关文章

向linux内核添加系统调用新老内核比较

2.6内核 1>修改linux-source-2.6.31/kernel/sys.c文件,在文件末尾添加系统响应函数.函数实现如下: asmlinkage int sys_mycall(int number) { printk("这是我添加的第一个系统调用"); return number; } 2>在linux-source-2.6.31/arch/x86/kernel/syscall_table_32.S 中添加:.long sys_mycall 如: .long sy

CSS Flex 新旧法语对比

CSS Flex 新旧法语对比 老版本的语法 定义容器的display属性 .box{ display: -moz-box; /*Firefox*/ display: -webkit-box; /*Safari,Opera,Chrome*/ display: box; } 容器属性 1.box-pack 属性 box-pack定义子元素主轴对齐方式, box-pack(主轴对齐)属性总共有4个值: start(左对齐(默认)) | end(右对齐) | center(居中对齐) | justif

Android 新老两代 Camera API 大起底

https://blog.csdn.net/Byeweiyang/article/details/80515192 0.背景简介 最近有一部分相机相关的需求,专注于对拍摄的照片.视频的噪点.色温.明暗等方面进行优化.一般我们在生活中使用相机来拍照的话,在前期拍摄时,就可以通过调整相机的拍摄参数,如:曝光时间.光圈大小.ISO.曝光补偿等等,使得拍摄下来的照片本来的色彩.明暗就处于比较理想的状态,无需过度依赖后期处理.而手机端的拍摄则往往受限于硬件和机型,无法在前期如此"收放自如",我们

李新海:新老员工不要浪费工作时间的每一秒钟

新老员工来到企业上班,要快速融入企业的节奏,有的企业快,有的企业慢,但是不管是什么节奏,都不要浪费工作的时间,一秒钟都不可以浪费. 1.上下班时间 有的公司8点上班,5点下班 有的公司9点上班,5点下班 虽然时间不同,但是作为员工而言,只要是你上班,就要提前10-15分钟到公司,因为每个人进入状态的时间不一样,老板和人力资源部安排上班的时间,不是你到公司的时间,是你开始工作的时间. 记得李老师上班的时候,我的领导告诉我一句,每天你提前十五分钟做到办公位上,思考和安排一天的工作,到工作时间了,你就

MK新老顾问自主拜访率

use Omniture select VLR.YearMonth ,VLR.VisitorID ,VLR.ConsultantID ,VLR.Visits ,CL.LevelID ,CL.[Status] ,IfNew = case when (VLR.YearMonth=startmonth) then '1' else '0' end into #VisitsLogin from VisitsLoginRecord VLR inner join (select *,CONVERT(varc

Chrome桌面提醒功能,兼容新老版本,firefox最新版本也通过

Chrome新版升级api,与w3一致,为了兼容,代码如下: //桌面提醒 function notify(title, content) { if(!title && !content){ title = "桌面提醒"; content = "您看到此条信息桌面提醒设置成功"; } var iconUrl = "/images/send_ok.png"; if (window.webkitNotifications) { //c

MapReduce简述、工作流程及新旧API对比

什么是MapReduce? 你想数出一摞牌中有多少张黑桃.直观方式是一张一张检查并且数出有多少张是黑桃. MapReduce方法则是: 1. 给在座的所有玩家中分配这摞牌. 2. 让每个玩家数自己手中的牌有几张是黑桃,然后把这个数目汇报给你. 3. 你把所有玩家告诉你的数字加起来,得到最后的结论. MapReduce概述 MapReduce是一种分布式计算模型,由Google提出,主要用于搜索领域,解决海量数据的计算问题.它的核心设计理念是移动计算,而不是移动数据. MapReduce合并了两种

grads 新老版本目录对比

最近不少人都在使用OpenGrADS,最新的版本已经更新到了2.0.a9,具体grads做了哪些更新,在附件里面放了一个,是英文的. 很多人说在使用原来的一些教程的时候找不到相对应的文件夹了,其实仔细搜索一下就能找到了,不过今天还是打算写出来,供需要的人参考一下. 原始的grads的文件夹大致有以下几个文件夹(out文件夹是中文汉字输出建立的):<ignore_js_op> 19.jpg (9.6 KB, 下载次数: 7) 下载附件  保存到相册 2011-9-26 13:46 上传 而新的o

李新海:新老员工请时时汇报你的工作进度

职场中,什么会帮助你加速升职加薪? 是能力?是忠心?是任劳任怨? 答案是时时向领导汇报你的工作进度. 因为一旦你时时汇报,就会得到如下四个好处. 1.你汇报了,领导就知道你在工作,不汇报,领导就以为你在偷懒. 领导与员工之间,不是敌人,是亲密无间的合作者.员工应该清楚,只有告诉领导,你在想什么,你在做什么,你的领导才会清楚.如果你不说,你做的一切,领导未必能看在眼里. 2.你汇报了,你用的方法一般,领导会给你指导,告诉你更高效的方法,不然就会影响领导想要的效率. 举个例子吧,领导中午十二点安排一