新鲜出炉的JavaScriptMVC(tony版)

引用

本来还想多说点什么的,觉得没必要了。

概念上的东西我不想过多争论,如果你认为"V"出现在JS中就不是MVC的话我也没什么好说的。

你认为你把模板代码写载外部HTML中你就能解决困扰你的问题你也可以放在外部。

下面回复中个人感觉最有价值的就是 司徒正美的   大家可以看看他的 我感觉很不错


(这个是下午刚做的,是第一版。主要是为了实现功能,细节没有考虑那么多,先发上来叫大家尝尝鲜,接着我会完善这个东西。)

越来越多的项目中大量JS循环拼接HTML字符串。我看这样的代码很头疼,样式出错不容易调试。所以,我本着对公司对项目负责的态度写下了这个小工具。

先看看怎么使用

 Foreach.dataSource = [{ a: { aa: "aa1", bb: "a.bb1" }, b: 'b1' },
		 { a: { aa: "aa1", bb: "a.bb1" }, b: 'b1' },
		 { a: { aa: "aa1", bb: "a.bb1" }, b: 'b1' },
		 { a: { aa: "aa1", bb: "a.bb1" }, b: 'b1' },
	  { a: { aa: "aa2", bb: "a.bb2" }, b: 'b2'}
	  
	  ]; //给定数据源
	 
   Foreach.exp = "<div > <#exp:if(index == 0)$>hi<#exp(a.aa)$> <#exp:endif $><#exp:if(a.aa == 'aa1')$>我是aa1 <#exp:endif $><input type='button' value='<#exp(b)$>' /></div>";  //定义需要绑定数据的HTML模板
  
   document.write(Foreach.result()); //得到数据结果

//OUTPUT:
hiaa1 按钮
我是aa1 按钮  
我是aa1 按钮
我是aa1 按钮
我是aa1 按钮

目前实现的功能和介绍:
1.<#exp(a.aa)$> 基本的数据绑定
2.<#exp:if(index == 0)$> <#exp:endif $> IF语句判断 可以支持对象中的属性和index,
index当前行号从0开始
3.<input type='button' value='<#exp(b)$>' />支持HTML混编
4.很抱歉的是  现在暂时不支持在<#exp(index)$>使用index以及对index的相关数学运算
5.还有一个做值转化的功能 是一个为我们项目定做的功能暂时不向大家公开
6.源码会在附件中发布 您有权在任何情况下使用以及修改源代码但是请署名作者 谢谢!
引用

问:支持else标签吗?
答:我本人意见不准备支持 觉得IF就够了
问:支持if标签嵌套吗?
答:目前这个版本不支持,我会在以后的版本中发布可以嵌套的功能
问:性能如何?
答:写这个工具的目的是为了提高开发效率,把视图从JS程序中剥离出去,性能的问题本人测了下在可以接受的范围

你可能感兴趣的:(JavaScript,jquery,xml,mvc,Ajax)