@@ -119,9 +119,7 @@ permalink: /server-end/design-patterns/simple-template-mode.html
119
119
;(function () {
120
120
const container = document .getElementById (' root' )
121
121
const formatString = function (str , data ) {
122
- return str .replace (/ \{\{ (\w + )\}\} / g , (match , key ) =>
123
- data[key] === void 0 ? ' ' : data[key],
124
- )
122
+ return str .replace (/ \{\{ (\w + )\}\} / g , (match , key ) => (data[key] === void 0 ? ' ' : data[key]))
125
123
}
126
124
const list = [
127
125
{
@@ -140,9 +138,7 @@ permalink: /server-end/design-patterns/simple-template-mode.html
140
138
let template = [' <ul>' ]
141
139
list .forEach ((v ) => {
142
140
template .push (' <li>' )
143
- template .push (
144
- formatString (' <a href="{{url}}" target="_blank" >{{name}}</a>' , v),
145
- )
141
+ template .push (formatString (' <a href="{{url}}" target="_blank" >{{name}}</a>' , v))
146
142
template .push (' </li>' )
147
143
})
148
144
template .push (' </ul>' )
@@ -187,9 +183,7 @@ permalink: /server-end/design-patterns/simple-template-mode.html
187
183
return value .replace (' {{' , ' "+(' ).replace (' }}' , ' )+"' )
188
184
})
189
185
html = ` var targetHTML = "${ html} ";return targetHTML;`
190
- var parsedHTML = new Function (... Object .keys (data), html)(
191
- ... Object .values (data),
192
- )
186
+ var parsedHTML = new Function (... Object .keys (data), html)(... Object .values (data))
193
187
element .innerHTML = parsedHTML
194
188
}
195
189
@@ -233,18 +227,13 @@ permalink: /server-end/design-patterns/simple-template-mode.html
233
227
if (root .nodeName === ' #text' ) {
234
228
node .type = ' text'
235
229
node .tagName = ' text'
236
- node .content = root .textContent
237
- .replace (/ \s + | \r | \t | \n / g , ' ' )
238
- .replace (/ "/ g , ' \\ "' )
230
+ node .content = root .textContent .replace (/ \s + | \r | \t | \n / g , ' ' ).replace (/ "/ g , ' \\ "' )
239
231
} else {
240
232
node .type = ' tag'
241
233
node .tagName = root .localName
242
234
node .children = []
243
235
node .attr = {}
244
- Array .prototype .forEach .call (
245
- root .attributes ,
246
- (item ) => (node .attr [item .nodeName ] = item .nodeValue ),
247
- )
236
+ Array .prototype .forEach .call (root .attributes , (item ) => (node .attr [item .nodeName ] = item .nodeValue ))
248
237
}
249
238
Array .prototype .forEach .call (root .childNodes , (element ) => {
250
239
var parsedNode = parseAST (element)
@@ -256,9 +245,7 @@ permalink: /server-end/design-patterns/simple-template-mode.html
256
245
257
246
function render (element , template , data ) {
258
247
html = ` var targetHTML = "${ template} ";return targetHTML;`
259
- var parsedHTML = new Function (... Object .keys (data), html)(
260
- ... Object .values (data),
261
- )
248
+ var parsedHTML = new Function (... Object .keys (data), html)(... Object .values (data))
262
249
element .innerHTML = parsedHTML
263
250
}
264
251
@@ -271,12 +258,9 @@ permalink: /server-end/design-patterns/simple-template-mode.html
271
258
template += ` </${ node .tagName } >`
272
259
} else {
273
260
if (node .content .match (/ \{\{ (. )*? \}\} / )) {
274
- var expression = node .content .replace (
275
- / \{\{ (. )*? \}\} / g ,
276
- function (value ) {
277
- return value .replace (' {{' , ' "+(' ).replace (' }}' , ' )+"' )
278
- },
279
- )
261
+ var expression = node .content .replace (/ \{\{ (. )*? \}\} / g , function (value ) {
262
+ return value .replace (' {{' , ' "+(' ).replace (' }}' , ' )+"' )
263
+ })
280
264
template += expression
281
265
} else {
282
266
template += node .content
0 commit comments