1. 程式人生 > >jquery tmpl.js與 juicer渲染對比

jquery tmpl.js與 juicer渲染對比

最近開發專案中使用的是jquery.tmpl.js,剛開始覺得其語法看著順眼就用了,可是後來發現其渲染速度不快,所以想換一種新的模板引擎。

在網上看了其他 的一些開源模板引擎,比如說Mustache,ArtTemplate...但是覺得其語法與asp.net 開發中有些衝突,後來覺得juicer效能還不錯,於是確定用它,

juicer有一個問題,就是在不同瀏覽器不相容,生成 的html不能渲染到document,其他原因是渲染後的 html有空格,這樣導致html不能被jquery 識別,用$(html)則會丟擲異常。

解決方法:1、新增__trim方法,

   this.__trim = function (str) {
            str = str.replace(/^\s\s*/, ''),
            ws = /\s/,
            i = str.length;
            while (ws.test(str.charAt(--i)));
            return str.slice(0, i + 1);
        }; 

2、在render返回html時,做一次trim

               var tempHtml = _that._render.call(this, _, _method);
                var html = _that.__trim(tempHtml);
                return html;

處理之後在不同的瀏覽器都可以用。

二、以下是用jquery.tmpl.js與juicer的渲染測試對比。