- 浏览: 109010 次
- 性别:
- 来自: 昆明
文章分类
- 全部博客 (151)
- 120D02 (5)
- 直升机 (1)
- 我的技术资料收集 (82)
- 的技术资料收集 (4)
- .NET Solution (2)
- ASP.NET (1)
- Linq to sql (1)
- 数据库技术(MS SQL) (2)
- 架构/设计 (1)
- 敏捷/持续集成 (1)
- C#.NET开发 (1)
- Matlab开发 (1)
- WinForm开发 (1)
- 开源技术 (1)
- jQuery (1)
- 我的博文 (4)
- js (2)
- android (2)
- 9. 读书笔记 (1)
- CSS3 (1)
- HTML5 (1)
- JavaScript (5)
- 移动开发 (2)
- 编程心得 (1)
- Linux操作系统 (1)
- (BI)商业智能 (1)
- IOS (1)
- Windows Phone (2)
- C# API (1)
- JQuery系列 (1)
- TFS (1)
- C# (2)
- ExtJs (1)
- .NET (1)
- Nginx (1)
- WCF学习笔记 (1)
- Computer Graphic (1)
- IT产品 (1)
- 工具分享 (1)
- MySelf (1)
- C#专栏 (1)
- 管理 (1)
- 基于Oracle Logminer数据同步 (1)
- 日常 (1)
- 实用工具 (1)
- 网页设计 (1)
- avalon (1)
- flash (1)
- DDD (1)
- 01 技术Android (1)
- WCF (1)
- selenium (1)
最新评论
-
464410531:
三国杀。。。。。。。。。。。。。。。。。。。。。。。。。。。。 ...
实用的职场宝典:不提拔你,就因为你只想把工作做好
原帖地址:http://www.cnblogs.com/aaronjs/p/3141553.html
avalon的介绍 http://rubylouvre.github.io/mvvm/
按照作者的介绍,在HTML中添加绑定,在JS中用avalon.define定义ViewModel,再调用avalon.scan方法,它就能动了!
神奇的代码:
如上图所示:
开发者:
1 定义一个带有自定义标签的HTML结构
2 定义一个简单的JS代码
用户操作:
用户在input文本框中改变值时,你就会发现对应的多条相关联的记录都被同步修改
问题:
- 事件是什么时候绑定的,因为开发者都没有操作dom
- js代码中定义的值,如何关联到html代码中
- html代码中如何实现自动同步视图(input输入更改一条记录,多条相关联的同步被修正)
带着这几个问题,我们一起走入avalon源码部分
首先对于MVVM模式,我们理解几个概念:
- M,模型,一个数据体,用于填允我们的页面,通常PHP交给我们时数据已经填好了,想改变,就要再发出请求,然后通过jQuery寻找节点,修改它的innHTML与innerText。当然DOM操作是非常繁锁的,什么透明度,背景,位置等CSS属性我们都需要通过操作类名来修改。我们有时忙乎于这些细节,而把我们业务混在其中了。因此调试时,业务好了,但样式坏了,样好修好,这时务业又爆开了……
- 在MVVM中,M只是一个过客,它与其他表示业务状态的东西融入VM(ViewModel)中。ViewModel是一个状态的集合,当然还拖家带口监控着大量的回调。状态听起来是个深奥的概念,其实就是一个开关。比如if(aaa){}语句中的aaa,就是表示true与false,switch(bbb){}语句,它表示有多个值的状态,就像有人幼年,童年,少年,青年,中年,老年这几个阶段,它们都指向同一个东西。
- 在MVVM中,数据是核心。而jQuery则以DOM为核心。而DOM只是HTML在JS的世界的抽象,是一个很易变的东西。因此如果业务代码遍历选择器表达式会非常难维护。但不可否认,jQuery是操作DOM的王者,让我们操作DOM顺手拈来。但如果不让你操作DOM,不是更好吗?就像jQuery不让你用getElementById,getElementsByTagName, querySelecterAll,大家都不知道里面有多少坑,短短几个字母$(expr)是背后sizzle选择器引擎1700行的实现!!!!jQuery其实是在用户代码与原生API中提供一层厚厚的粘合层,因此摸起来光溜溜。在MVVM中,DOM操作基本是水下运作了。由于VM与V之间的双向绑定,操作了VM中的数据(当然只能是监控属性),就会同步到DOM,我们透过DOM事件监控用户对DOM的改动,也会同步到VM。DOM隐形了,就像软件公司,到处跑出来活动的是业务员与不写代码的经理老总,程序员全部关起来加班!虽然这比喻有点残酷,但这正体现了各司其职的威力。能说会道去拉风投接单子没什么不妥,喜欢呆在电脑前的就让他呆吧。jQuery的世界就是一个混乱的公司,全能的程序员什么都做
- 为了各司其职,必须有良好的分层。MVVM划分三层,M,VM,V,M是原始数据,用于转换为VM,VM管理状态与绑定回调,V通过绑定得到VM的状态与回调,渲染页面,绑定事件,切换类名,什么脏活都揽了——但用户只需要声明
- avalon与其他前端MVVM框架最大的不同是:
- VM是用ecma262v5的新API, Object.defineProperties生成的一个充满访问器的对象,这样的对象,能通过用户对它的属性的读写,触发定义时的getter, setter函数。getter, setter对rubyer, pythoner, C#er应该很熟悉,我就不展开了。旧式IE,avalon利用VBScript的类实例,它也存在其他语言的访问器。不过,VBS对象不像JS对象那样随意添加新属性,删除已有属性,因此我们就无法监后添加的新属性。Object.defineProperties也一样,它能处理的属性也只是它定义时的属性,想监控后来的,需要再调用一次Object.defineProperties。尽管如此,也比其他MVVM框架魔幻多了
@author Aaron
发表评论
-
Javascript:猜猜弹出的是啥?为啥? - 幸福框架
2013-06-28 13:33 430原帖地址:http://www.cnblogs.com/hap ... -
C#中WindowsForm常见控件的运用 -- - 李晓峰
2013-06-28 13:27 1747原帖地址:http://www.cnblogs.com/liy ... -
海量数据处理利器之Hash——在线邮件地址过滤 - MyDetail
2013-06-27 12:00 654原帖地址:http://www.cnblo ... -
ASP.NET MVC 4 for Visual Studio 2010 下载地址 - 张鸿伟
2013-06-27 11:48 754原帖地址:http://www.cnblogs.com/wei ... -
【ASP.NET Web API教程】6.2 ASP.NET Web API中的JSON和XML序列化 - r01cn
2013-06-26 11:00 919原帖地址:http://www.cnblogs.com/r01 ... -
[珠玑之椟]估算的应用与Little定律 - 五岳
2013-06-26 10:54 639原帖地址:http://www.cnblogs.com/wuy ... -
30行,金额转人民币大写的代码 - 史蒂芬.王
2013-06-26 10:42 1028原帖地址:http://www.cnblogs.com/ste ... -
从银行的钱荒看一个公司的团队建设 产品线过多最终导致最赚钱的项目面临破产 - James Li
2013-06-26 10:36 632原帖地址:http://www.cnblogs.com/Jam ... -
Windows 8 动手实验系列教程 实验6:设置和首选项 - zigzagPath
2013-06-25 13:39 535原帖地址:http://www.cnblogs.com/zig ... -
闲聊可穿戴设备 - shawn.xie
2013-06-25 13:33 616原帖地址:http://www.cnblo ... -
如何使用开源库,吐在VS2013发布之前,顺便介绍下VS2013的新特性"Bootstrap" - 量子计算机
2013-06-25 13:27 869原帖地址:http://www.cnblogs.com/DSh ... -
一步一步将自己的代码转换为观察者模式 - 文酱
2013-06-23 11:36 608原帖地址:http://www.cnblo ... -
iOS内存错误EXC_BAD_ACCESS的解决方法(message sent to deallocated instance) - VicStudio
2013-06-23 11:30 543原帖地址:http://www.cnblogs.com/vic ... -
记录asp.net在IE10下事件丢失排错经过 - Adming
2013-06-23 11:24 712原帖地址:http://www.cnblogs.com/wea ... -
记 FineUI 官方论坛所遭受的一次真实网络攻击!做一个像 ice 有道德的黑客! - 三生石上
2013-06-23 11:18 793原帖地址:http://www.cnblogs.com/san ... -
3、使用Oracle Logminer同步Demo
2013-06-19 10:33 571原帖地址:http://www.cnblogs.com/shi ... -
算法实践——数独的基本解法
2013-06-19 10:27 1450原帖地址:http://www.cnblogs.com/gre ... -
简单实现TCP下的大文件高效传输
2013-06-19 10:21 692原帖地址:http://www.cnblogs.com/sma ... -
Nginx学习笔记(一) Nginx架构
2013-06-18 09:59 528原帖地址:http://www.cnblogs.com/cod ... -
证书打印《二》
2013-06-17 10:47 533原帖地址:http://www.cnblogs.com/bin ...
相关推荐
赠送jar包:avalon-framework-api-4.3.1.jar; 赠送原API文档:avalon-framework-api-4.3.1-javadoc.jar; 赠送源代码:avalon-framework-api-4.3.1-sources.jar; 赠送Maven依赖信息文件:avalon-framework-api-...
赠送jar包:avalon-framework-api-4.3.1.jar; 赠送原API文档:avalon-framework-api-4.3.1-javadoc.jar; 赠送源代码:avalon-framework-api-4.3.1-sources.jar; 赠送Maven依赖信息文件:avalon-framework-api-...
赠送jar包:avalon-framework-impl-4.3.1.jar; 赠送原API文档:avalon-framework-impl-4.3.1-javadoc.jar; 赠送源代码:avalon-framework-impl-4.3.1-sources.jar; 赠送Maven依赖信息文件:avalon-framework-impl...
Avalon-MM Pipeline Bridge是Qsys系统中一种重要的互联组件,用于优化基于Avalon-MM接口的SoC(System-on-a-Chip)设计中的数据传输性能。Avalon-MM是Altera公司(现已被Intel收购)开发的一种内存映射协议,广泛...
赠送jar包:avalon-framework-impl-4.3.1.jar; 赠送原API文档:avalon-framework-impl-4.3.1-javadoc.jar; 赠送源代码:avalon-framework-impl-4.3.1-sources.jar; 赠送Maven依赖信息文件:avalon-framework-impl...
### Altera Arria V FPGA 的 Avalon-ST 接口用于 PCIe 的关键技术点 #### 标题解析:Arria V Avalon-ST Interface for PCIe - **Arria V FPGA**:Arria V 是 Altera(已被 Intel 收购)推出的一款高性能现场可编程...
avalon-logkit.jar avalon-logkit.jar avalon-logkit.jar avalon-logkit.jar avalon-logkit.jar avalon-logkit.jar avalon-logkit.jar avalon-logkit.jar avalon-logkit.jar avalon-logkit.jar avalon-logkit.jar ...
标题中的"peridot-avalon-mm_avalon-mm_avalon资料_"暗示了这是一个关于Peridot项目和Avalon-MM接口的资料集合。Peridot可能是一个基于Avalon-MM规范的开发平台或工具,而Avalon-MM则是一种广泛使用的片上系统(SoC...
### Avalon-ST总线规范详解 #### 一、引言 Avalon-ST总线规范是一种高效的点对点数据传输接口标准,适用于多种应用场景,包括但不限于多数据流、数据包及DSP数据的传输等。本篇文章旨在深入解析Avalon-ST总线规范...
avalon-framework-4.1.3.pomavalon-framework-4.1.3.pomavalon-framework-4.1.3.pomavalon-framework-4.1.3.pomavalon-framework-4.1.3.pom
官方版本,亲测可用
官方版本,亲测可用
avalon-framework-api-4.3.1.jar包下载
Avalon-ST Single Clock FIFO 是 Qsys 系统中使用的一种特殊类型的 FIFO,它在单一时钟域下工作,并且支持多种接口规范,如 Avalon、AMBA AXI4-Stream 和 AMBA APB 等。了解和使用 AVALON-ST Single Clock FIFO 对于...
单独采用Avalon-MM接口可以构建一个完整的SOPC系统,但是采用Avalon-MM接口结合Avalon-ST接口构建系统,可以更好地体现控制通路和数据通路的分离。 在实际应用中,Avalon-ST接口已经被广泛应用于Altera的DSP内核中...
官方版本,亲测可用
avalon-framework-4.1.4.jar
avalon-framework-4.1.3.jar 资源共享,有需要其他jar包的可以在评论留言,看到后我会陆续上传。
### Avalon-ST单时钟与双时钟FIFO核详解 #### 核心概述 Avalon® Streaming(简称Avalon-ST)单时钟与双时钟FIFO核是专为Altera Quartus II软件设计的FIFO缓冲器核心。它们在单一时钟下或输入输出端口分别使用独立...
avalon-logkit-1.2-8.2.el6.noarch.rpm是centos工具包。