论坛首页 Web前端技术论坛

mootools与JST模板的冲突

浏览 2119 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-10-21  

一直以来很青睐于steve.yen设计的模板引擎JST(JavaScript Templates),非常好用。

而最近开始使用mootools这个优秀的ajax框架,几天前遇到一个奇怪的问题,一直无解。

 

现象: 当使用JST的循环标签{for obj in list}时,集合的长度一点错误没有,而在实际输出的时候总是

多循环一次。

 

开始没有在意,以为是jst的模板没写好。两天以后来解决这个问题的时候,发现咋都要多循环一次。。。

调试N久,把数据来回测试,就是这个首页面有问题,最后把数据清掉,空的集合居然还会循环1次。。。

 

没辙用steve大侠的demo做测试,啥问题都没,一气之下把demo的代码直接粘贴到首页面里了(其实是不小心按错了)

执行以后惊奇的发现在最后输出的那行不再是错误,而是一个大写的"ARRAY",再看demo的模板,输出他的对象是

p.name ,层层抽丝后终于锁定,这个页面里所有的js array对象的最后一个元素在jst循环的时候都会多出一个array。

 

终于把目光锁定在了那个唯一存在的外部js文件 mootools.js ,仔细查看才发现好多重新定义的array函数,直接去掉

引用,马上一切OK了。。。。。。。。。。。

 

诶,真是让人抓狂的问题,临时在循环中加了个p.name=='array'就break的判断跳过这个问题。

 

要想彻底解决,还要阅读jst的源码,好头疼啊,放弃了,有时间再说。

   发表时间:2008-10-21  
呵呵,碰到侵入的麻烦了吧.
这样写程序会把人烦死的.
建议您使用jQuery.
还有就是推荐我写的模板jCT,楼主有使用jst的经验,如果用jCT的话,肯定更顺手.
jct 专题
http://achun.iteye.com/category/33268
jct 开源主页
http://code.google.com/p/jsct/
1 请登录后投票
   发表时间:2008-10-21  
先佩服下 achun ,jct很好,很强大。


0 请登录后投票
   发表时间:2008-10-24  
JST什么东西啊,也是个JS库吗?难道比mootools还牛,不可能吧
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics