日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

artTemplate的空白输出坑

發布時間:2023/12/3 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 artTemplate的空白输出坑 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、問題現象

<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數組含有空串。

var b = a.split(" "), c = b.shift(), e = b.join(" ");

?

總結

以上是生活随笔為你收集整理的artTemplate的空白输出坑的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。