artTemplate的空白输出坑
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                artTemplate的空白输出坑
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.                        
                                一、問題現(xiàn)象
<script type="text/html" id="man_template">{{each list as v i}}<tr><td>{{v.name}}</td><td>{{v.height}}</td><td>{{v.age}}</td></tr>{{/each}} </script> <script>var html=template("man_template",{list:[{name:'zhang',age:18,height:'180cm'}]});console.log(html); </script>輸出:編譯后完全沒有信息
原因:{{each? ?list as v i}}此行多了個空格
?
二、artTemplate解析器的坑
e.parser = function (a) {a = a.replace(/^\s/, "");var b = a.split(" "), c = b.shift(), e = b.join(" ");switch (c) {case"if":a = "if(" + e + "){";break;case"else":b = "if" === b.shift() ? " if(" + b.join(" ") + ")" : "", a = "}else" + b + "{";break;case"/if":a = "}";break;case"each":var f = b[0] || "$data", g = b[1] || "as", h = b[2] || "$value", i = b[3] || "$index", j = h + "," + i;"as" !== g && (f = "[]"), a = "$each(" + f + ",function(" + j + "){";break;case"/each":a = "});";break;case"echo":a = "print(" + e + ");";break;case"print":case"include":a = c + "(" + b.join(",") + ");";break;default:if (/^\s*\|\s*[\w\$]/.test(e)) {var k = !0;0 === a.indexOf("#") && (a = a.substr(1), k = !1);for (var l = 0, m = a.split("|"), n = m.length, o = m[l++]; n > l; l++) o = z(o, m[l]);a = (k ? "=" : "=#") + o} else a = d.helpers[c] ? "=#" + c + "(" + b.join(",") + ");" : "=" + a}return a}以下此行只使用單一空白分隔編譯模板語法,輸入多空格將導致b數(shù)組含有空串。
var b = a.split(" "), c = b.shift(), e = b.join(" ");?
總結(jié)
以上是生活随笔為你收集整理的artTemplate的空白输出坑的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 接骨木花眼霜好用吗
- 下一篇: 9个最佳游戏团队标志"如何免费获得[20
