随笔分类 -  MVVM

摘要:Knockout真正强大之处在于绑定机制,通过data-bind属性值体现绑定,不仅可以绑定值,还可以绑定事件,甚至可以自定义绑定。 从一个例子看Knockou的绑定机制 假设想给一个button元素变成jQuery UI的button,大致这样做:点我 $('#btn').button( icons: { primary: 'ui-icon-gear' } ); "他山之石,可以攻... 阅读全文
posted @ 2014-11-04 10:26 Darren Ji 阅读(1436) 评论(0) 推荐(1) 编辑
摘要:本篇体验使用 foreach 绑定一个Product集合。 首先使用构造创建一个View Model。 var Product = function(data) { this.name = ko.observable(data.name); this.category = ko.observable(data.category); ... 阅读全文
posted @ 2014-11-03 10:58 Darren Ji 阅读(1214) 评论(2) 推荐(0) 编辑
摘要:在前两篇中,体验了Knockout的基本验证和自定义验证。本篇自定义验证信息的显示位置与内容。 自定义验证信息的显示位置 通常,Knockout的验证信息紧跟在input后面,通过validationMessage属性可以自定义验证信息的显示位置。@{ ViewBag.Title = "Index"; Layout = "~/Views/Shared/_Layout.cs... 阅读全文
posted @ 2014-11-03 09:53 Darren Ji 阅读(785) 评论(0) 推荐(1) 编辑
摘要:在上一篇中体验了Knockout.Validation的基本验证,本篇体验自定义验证和异步验证。 自定义验证规则 ko.validation有一个rules属性,专门用来存放验证规则,它是一个键值对集合类型,key就是自定义验证规则的名称,value是一个json对象。@{ ViewBag.Title = "Index"; Layout = "~/Views/Shared... 阅读全文
posted @ 2014-11-02 13:21 Darren Ji 阅读(1206) 评论(0) 推荐(0) 编辑
摘要:本篇体验View Model验证。Knockout的subscribe方法能为View Model成员注册验证规则。 @{ ViewBag.Title = "Index"; Layout = "~/Views/Shared/_Layout.cshtml"; } 最大长度为8! @section scripts { } 以上的做法稍显繁琐。其实,使用... 阅读全文
posted @ 2014-11-02 10:02 Darren Ji 阅读(1679) 评论(0) 推荐(0) 编辑
摘要:通常,需要把View Model转换成json格式传给服务端。但在很多情况下,View Model既会包含字段,还会包含方法,我们只希望把字段相关的键值对传给服务端。 先把上一篇的Product转换成json格式,通过pre元素显示出来。 @section scripts { } 可是,我们只想把name,category键值对传给服务端,该如何做到呢? □ 方... 阅读全文
posted @ 2014-11-01 22:30 Darren Ji 阅读(844) 评论(0) 推荐(0) 编辑
摘要:使用Knockout,当通过构造函数创建View Model的时候,构造函数的参数个数很可能是不确定的,于是就有了这样的一个解决方案:向构造函数传递一个object类型的参数data。 @section scripts { } 以上,通过构造函数创建Product的时候,只用到了一个参数,data。在实例化Product的时候,给Product各个成员赋默认值。另外,还... 阅读全文
posted @ 2014-11-01 21:38 Darren Ji 阅读(844) 评论(0) 推荐(0) 编辑
摘要:本篇体验使用ko.computed(fn)计算、组合View Model成员、Select元素的绑定、使用构造器创建View Model、通过View Model的原型(Prototype)为View Model添加扩展方法。 □ 使用ko.computed(fn)计算成员 有时候,我们希望把View Model中的几个成员组合起来成为一个新成员,使用ko.computed(fn)可实现。... 阅读全文
posted @ 2014-11-01 20:49 Darren Ji 阅读(770) 评论(0) 推荐(0) 编辑
摘要:本篇体验在ASP.NET MVC下使用Knockout,将使用EF Code First创建数据库。最后让Knockout绑定一个Json对象。 创建一个领域模型。namespace MvcApplication3.Models { public class Product { public int Id { get; set; } public... 阅读全文
posted @ 2014-11-01 19:28 Darren Ji 阅读(1217) 评论(0) 推荐(0) 编辑
摘要:在遍历数组、集合的时候,通常要获取元素的索引,本篇体验使用Knockout获取索引的2种方法。 假设有这样的一个模型: namespace UseIndex.Models{ public class Student { public int Id { get; set; } public string Name { get; set; } }}在Ho... 阅读全文
posted @ 2014-07-16 23:05 Darren Ji 阅读(3119) 评论(2) 推荐(0) 编辑
摘要:Angularjs是一个前端的Javascript MVC 库和框架,使前端得到更好的设计、维护和测试。它的核心特性有:MVC、双向数据绑定、指令和语义化标签、模块化工具、依赖注入、HTML模板,以及对常用工具的封装,例如$http、$cookies、$location等。本篇体验Angularjs在MVC中的基本使用。 通过NuGet,输入关键字Angularjs,安装"Angular JS ... 阅读全文
posted @ 2014-07-13 20:24 Darren Ji 阅读(1154) 评论(6) 推荐(0) 编辑
摘要:本篇使用Knockout在MVC下实现"Hello World",对应的官网实例在这里。 当次数达到3: View视图 页面包含三个部分:1、显示点击按钮的次数2、button按钮,每点击一次,显示的次数加1,并且,当次数达到3次,button禁用3、最下面的div只有在次数达到3的时候才显示,并提供"重置"按钮 You've clicked times Click me Tha... 阅读全文
posted @ 2014-07-11 20:20 Darren Ji 阅读(1018) 评论(0) 推荐(0) 编辑
摘要:本篇使用Knockout在MVC下实现"Hello World",对应的官网实例在这里。 View视图 Knockout的一个特点是:声明式绑定,即Declarative bindings。暂且不管业务逻辑,先把关注点放在界面UI上,即"MVVM"模式中的第二个"V", 也就是View视图。根据Knockout的语法,创建如下界面: First name: Las... 阅读全文
posted @ 2014-07-11 11:35 Darren Ji 阅读(1243) 评论(0) 推荐(0) 编辑
摘要:SportsStore是《精通ASP.NET MVC3框架(第三版)》中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器、URL优化、导航、分页、购物车、订单、产品管理、图像上传......是不错的MVC实践项目,但该项目不是放在多层框架下开发的,离真实项目还有一段距离。本系列将尝试在多层框架下实现SportsStore项目,并用自己的方式实现一些功能。 本篇为"在三层架构下... 阅读全文
posted @ 2014-07-10 18:18 Darren Ji 阅读(2662) 评论(0) 推荐(0) 编辑

我的公众号:新语新世界,欢迎关注。

点击右上角即可分享
微信分享提示