新鲜出炉的JavaScriptMVC(tony版)

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

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

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

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

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

越来越多的项目中大量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.源码会在附件中发布 您有权在任何情况下使用以及修改源代码但是请署名作者 谢谢!
[quote]
问:支持else标签吗?
答:我本人意见不准备支持 觉得IF就够了
问:支持if标签嵌套吗?
答:目前这个版本不支持,我会在以后的版本中发布可以嵌套的功能
问:性能如何?
答:写这个工具的目的是为了提高开发效率,把视图从JS程序中剥离出去,性能的问题本人测了下在可以接受的范围
[/quote]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值