快速业务通道

mvc模式分离javascript开发

作者 佚名技术 来源 网页制作 浏览 发布时间 2012-03-06

这样我们的javascript会遍历所有的表单字段从class中拖出这个属性从那执行相应的程序。(这里的class属性保留了双重含义,一个是css的样式设定另一个就是js的目标对象。多么便捷哈!~)

上面这种方式和页面的结构已经语义化标记紧密缠绕在一起,但是这种方式也有一定限制条件,比如没有条件判定式,而且在html标记中不能构造条件逻辑。比如:我们说如果一个字段完成,需要另一个唯一的字段。(可能你要说能但是很笨的方法。)


<input name="other" type="checkbox" /> Other
<textarea class="dependson-other"></textarea>

在上面得这个例子当中我们用了前缀 dependson 指出 textarea是依靠 checkbox才出现的。为了避免这种拙劣的方法,我们可以在javascript中定义这块业务逻辑。

Using JavaScript to describe things(用javascript去描述事物)

当我们在html中增加语义化标记以及元数据的时候,我们最终的目的是获取信息给javascript。但是以javascript方式描述数据是相对比较方便的。
这里就是一个例子:(其实就是用json方式描述)


var fields = {
''other'': {
required:true
},
''additional: {
''required'': {
''other'':{checked:true},
''total'':{between:[1,5]}
},
''only-show-if'': {
''other'': {checked:true}
}
}
};

在这个例子中附加字段会有几个依赖关系。依赖关系中的每一个都被描述了。并且有各种各样的信息定义在其中。在这种情况下,附加字段需要两个字段满足条件,并且附加字段只有在用户选择other的checkbox时才会显示出来。
在这时候,javascript被用于如何验证发生后字段和业务逻辑的描述定义,在这一层中我们已经分离了一部分数据进入他们自己的对象中。但是这些验证仍然期望在有效的变量数据中应用。希望在页面中能够展示出相应的错误摘要。
尽管这个例子已经有一点分离。但是这里验证过程仍然有很多的依赖性,比如:数据的验证和验证的后的报错结果显示仍然存在紧密的耦合。
那就让我们思考一下怎样才能用mvc模式构建我们的代码。并且然后构建我们表单验证的例子。

The Model

既然mvc有三个主要组成部分,那么我们的程序也要相应的划分成至少3个主要对象。

分离model层进入它自己的对象是比较容易的,正如我们早期看到那个表单验证的例子,这个常常发生的很自然。

让我们来看那下另外一个例子吧。假设我们有一个日历事件,这个事件的数据将会存储在它自身的对象中,增加到对象的中的方法

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号