惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
V2EX
Y
Y Combinator Blog
博客园_首页
V
Visual Studio Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
阮一峰的网络日志
阮一峰的网络日志
Hugging Face - Blog
Hugging Face - Blog
宝玉的分享
宝玉的分享
B
Blog
博客园 - 三生石上(FineUI控件)
小众软件
小众软件
WordPress大学
WordPress大学
L
LangChain Blog
爱范儿
爱范儿
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
P
Proofpoint News Feed
Blog — PlanetScale
Blog — PlanetScale
C
Check Point Blog
博客园 - 聂微东
云风的 BLOG
云风的 BLOG
Microsoft Security Blog
Microsoft Security Blog
博客园 - 叶小钗
酷 壳 – CoolShell
酷 壳 – CoolShell
H
Help Net Security

博客园 - sinlight23

Web开发框架趋势 ASP.NET MVC - PageData的应用 ASP.NET拾遗 - Health Monitoring .NET Xml序列化时会忽略值为"默认值"的Property或Field ASP.NET MVC 实现模式 - ModelBuilder Enumerable.Range和自定义的IntRange/DateRange HOWTO: Web Deploy时服务器报登录失败的解决方法 HOWTO: 为GitHub for Windows指定代理服务器 ASP.NET MVC - 在MVC 3项目中使用ASP.NET Bundling and Minification机制 脚印:关于错误编码的管理的一些思考 脚印:软件开发随想录 脚印:关于扩展方法的使用 脚印:一次重构讨论 脚印:记录一次重构,将规则生产和规则消费(执行委托)分离 HOWTO: IE8下处理iframe自适应高度 Microsoft ASP.NET 2.0 AJAX 相关信息备忘 VS2010 "SQL Server 2005 Database Project" 使用笔记(二) VS2010 "SQL Server 2005 Database Project" 使用笔记 腳印: 初學者的心態
MVC 模式在javascript中的应用
sinlight23 · 2010-08-17 · via 博客园 - sinlight23

此方案是一次将MVC的思想引入客户端的尝试. 结合AJAX , 并借鉴了一些ASP.NET MVC的实现模式.

示例是一个简单的事件管理系统, 只有一个页面, 用户可以提交事件(post), 回复(reply). 页面打开时列表方式展现事件及回复.

Controller公开一系列action 给调用方.

action主要做三类事:

1. 使用ajax方式与服务器端通信(ajax) 2. 维护viewModel实例的状态 3. 刷新页面的局部视图

Controller定义如下:

Controller引用着一个ViewModel的实例, ViewModel的定义如下:

调用示例:

这个示例是jquery版的, DOM中也能看到jTemplates的影子(一个jquery插件), 但从思想到实现, 这个方案并不依赖于jquery, Controller中的两处外部依赖($.ajax和renderTemplate)完全可以寻找其他等价物替代.

此示例项目选用jquery和jTemplates完全是项目选型决定, 实现上只是借用了现成的便利.

(DOM中 <textarea class="template">... </textarea>是一个 jTemplates 模板)