mootools与JST模板的冲突

一直以来很青睐于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的源码,好头疼啊,放弃了,有时间再说。

你可能感兴趣的:(JavaScript,jquery,Ajax,Google,mootools)