// 事宜绑定 events: {'keypress #new-todo': 'createTodoOnEnter'} }); var appview = new Appview(); // model: // 每个应用法度榜样的核心、包含了交互数据和逻辑 // 如数据验证、getter、setter、默认值、数据初始化、数据转换 var app = {}; app.Todo = Backbone.model.extend({ defaults: { title: '', completed: false } }); // 创建一个model实例 var todo = new app.Todo({title: 'Learn Backbone.js', completed: false}); todo.get('title'); // "Learn Backbone.js" todo.get('completed'); // false todo.get('created_at'); // undefined todo.set('created_at', Date()); todo.get('created_at'); // "Wed Sep 12 2012 12:51:17 GMT-0400 (EDT)" // collection: // model的有序集合,可以设置或获取model // 监听集合中的数据变更,大年夜后端获取模型数据、持久化。 app.TodoList = Backbone.Collection.extend({ model: app.Todo, localStorage: new Store("backbone-todo") }); // collection实例 var todoList = new app.TodoList() todoList.create({title: 'Learn Backbone\'s Collection'}); // model实例 var model = new app.Todo({title: 'Learn models', completed: true}); todoList.add(model); todoList.pluck('title'); todoList.pluck('completed'); KnockoutJS
KnockoutJS是一个名正言顺的MVVM框架,经由过程简洁易读的data-bind语法,将DOM元素与viewmodel接洽关系起来。当模型(viewmodel)状况更新时,主动更新UI界面。 viewmodel是model和view上的操作的一个连接,是一个纯粹的Javascript对象。它不是UI,没有控件和样式的概念,它也不是持久化的模型数据,它只是hold住一些用户正在编辑的数据,然后裸露出操作这些数据(增长或删除)的办法。
view是对viewmodel中数据的一个可视化的显示,view不雅察viewmodel,操作view时会发送敕令到viewmodel,并且当viewmodel变更时更新。view和model是不懂得彼此的存在的。
- <form data-bind="submit: addItem">
- New item:
- <input data-bind=
推荐阅读
安全理论:学习如何应对网络恐怖活动
【51CTO.com快译】关于收集恐怖晃荡的消息近期层出不穷。全世界正在遭受不合程度的收集恐怖主义,包含真正的恐>>>详细阅读
本文标题:前端MVC变形记
地址:http://www.17bianji.com/lsqh/36386.html
1/2 1