- stackPanel1.DataContext = new Student() {
- StudentID=20130501,
- Name="张三",
- EntryDate=DateTime.Parse("2013-09-01"),
- Credit=0.0
- };
个中最重要的特点之一就是数据绑定,Data-binding。没有前后端分别,一个开辟人员全搞定,一只手抓营业逻辑、一只手抓数据拜访,顺带手拖放几个UI控件,绑定命据源到某个对象或某张表,一步到位。
背景介绍完毕,再来看一下理论图

MVVM模式
风行的MV*框架:
每个框架都有本身的特点,这里重要评论辩论MVC三个角色的义务。粗浅地过一遍每个框架的代码构造和风格。
BackboneJS
Backbone经由过程供给模型Model、集合Collection、视图View付与了Web应用法度榜样分层构造,个中模型包含范畴数据和自定义事宜;集合Colection是模型的有序或无序集合,带有丰富的可列举API; 视图可以声明事宜处理函数。最终将模型、集合、视图与办事端的RESTful JSON接口连接。
Backbone在进级的过程中,去掉落了controller,由view和router代替controller,view集中处理了用户事宜(如click,keypress等)、衬着HTML模板、与模型数据的交互。Backbone的model没有与UI视图数据绑定,而是须要在view中自行操作DOM来更新或攫取UI数据。Router为客户端路由供给了很多办法,并能连接到指定的动作(actions)和事宜(events)。
Backbone是一个小巧灵活的看维只是帮你实现一个MVC模式的框架,更多的还须要本身去实现。合适有必定Web基本,乡⒚?生JS去操作DOM(因为没稀有据绑定)的开辟人员。为什么称它为库,而不是框架,不仅仅是因为仅4KB的代码,更重要的是 应用一个库,你有控制权。如不雅用一个框架,控制权就反转了,变成框架在控制你。库可以或许赐与灵活和自由,然则框架强迫应用某种方法,削减反复代码。这就是Backbone与Angular的差别之一了。
至于Backbone属于MV*中的哪种模式,有人认为不是MVC,有人认为更接近于MVP,事实上,它借用多个架构模式一一些很好的概念,创建一个运行优胜的灵活框架。不必拘泥于某种模式。
- // view:
- var Appview = Backbone.View.extend({
- // 每个view都须要一个指向DOM元素的引用,就像ER中的main属性。
- el: '#container',
- // view中不包含html标记,有一个链接到模板的引用。
- template: _.template("<h3>Hello <%= who %></h3>"),
- // 初始化办法
- initialize: function(){
- this.render();
- },
- // $el是一个已经缓存的jQuery对象
- render: function(){
- this.$el.html("Hello World");
- },
推荐阅读
【51CTO.com快译】关于收集恐怖晃荡的消息近期层出不穷。全世界正在遭受不合程度的收集恐怖主义,包含真正的恐>>>详细阅读
本文标题:前端MVC变形记
地址:http://www.17bianji.com/lsqh/36386.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示