You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+44-30Lines changed: 44 additions & 30 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -83,12 +83,16 @@ SYNTAX
83
83
DESCRIPTION
84
84
-----------
85
85
86
-
### template(id or source , data)
86
+
### template(id or source , data | array )
87
87
88
88
If the first argument of template matches `/^[\w\-]+$/`, it is treated as `id` of template. In this case, use `document.getElementById(id).innerHTML` to get source.
89
89
90
90
Otherwise, the first argument is treated as source directly.
91
91
92
+
If the second argument is an **Array**, it is treated as a list of property names for the data object. In this case, the template function will be compiled with these property names as its local variables, and the compiled function itself will be returned (not executed). This allows you to precompile a template for repeated use with the same set of variable names.
93
+
94
+
If the second argument is an **Object**, the template will be rendered immediately using the object's properties as local variables.
95
+
92
96
93
97
CUSTOM `get` FUNCTION
94
98
---------------------
@@ -107,16 +111,19 @@ DEFINE DATA VARIABLE SCOPE
107
111
108
112
micro-template now always expands data variables as local variables in the template function. The template API only supports two arguments: the template source/id and the data object. All keys of the data object are available as local variables in the template code.
109
113
114
+
If the second argument is an **Array**, it is treated as a list of property names for the data object. In this case, the template function will be compiled with these property names as its local variables, and the function itself will be returned (not executed). This allows you to precompile a template for repeated use with the same set of variable names.
You can access all properties of the data object directly as variables inside the template.
118
125
119
-
**Note:** The previous API that allowed calling `template(tmpl)` to return a function is removed. Always use the two-argument form: `template(tmpl, data)`.
126
+
**Note:** The previous API that allowed calling `template(tmpl)` to return a function is removed. Always use the two-argument form: `template(tmpl, data)` or `template(tmpl, [prop1, prop2, ...])`.
120
127
121
128
EXTENDED FEATURES
122
129
-----------------
@@ -169,7 +176,7 @@ BENCHMARK
169
176
---------
170
177
171
178
online:
172
-
[benchmark on perf.link](https://perf.link/#eyJpZCI6IjdyMGN5dHJzazdvIiwidGl0bGUiOiJtaWNyby10ZW1wbGF0ZS5qcyB2cyBlanMiLCJiZWZvcmUiOiJpbXBvcnQgeyBleHRlbmRlZCBhcyB0ZW1wbGF0ZSB9IGZyb20gXCJodHRwczovL2NobzQ1LmdpdGh1Yi5pby9taWNyby10ZW1wbGF0ZS5qcy9saWIvbWljcm8tdGVtcGxhdGUuanNcIjtcbmltcG9ydCBlanMgZnJvbSAnaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9lanMvZWpzLmpzLytlc20nO1xuXG5jb25zdCBURU1QTEFURSA9IGBcbjwlIGZvciAodmFyIGkgPSAxOyBpIDw9IG47IGkrKykgeyAlPlxuXHQ8JT0gIGkgKyAnID0nICU%2BXG5cdDwlIGlmIChpICUgMTUgPT0gMCkgeyAlPlxuXHRGaXp6QnV6elxuXHQ8JSB9IGVsc2UgeyAlPlxuXHRcdDwlIGlmIChpICUgMyA9PSAwKSB7ICU%2BXG5cdFx0Rml6elxuXHRcdDwlIH0gZWxzZSB7ICU%2BXG5cdFx0XHQ8JSBpZiAoaSAlIDUgPT0gMCkgeyAlPlxuXHRcdFx0QnV6elxuXHRcdFx0PCUgfSBlbHNlIHsgJT5cblx0XHRcdDwlPSBpICU%2BXG5cdFx0XHQ8JSB9ICU%2BXG5cdFx0PCUgfSAlPlxuXHQ8JSB9ICU%2BXG5cdC9cbjwlIH0gJT5cbmAudHJpbSgpO1xuXG5jb25zdCBjb21waWxlZEVqcyA9IGVqcy5jb21waWxlKFRFTVBMQVRFKTsiLCJ0ZXN0cyI6W3sibmFtZSI6Im1pY3JvLXRlbXBsYXRlLmpzIiwiY29kZSI6InRlbXBsYXRlKFRFTVBMQVRFLCB7IG4gOiAxMDAwIH0pOyIsInJ1bnMiOlsxMjQ1NCwxMTYzNiwxNDAwMCwxMzM2MywxMzQ1NCwxMjgxOCwxMjgxOCwxMjU0NSwxMjcyNywxMzE4MSwxMzAwMCwxMjE4MSwxMjM2MywxMjU0NSwxMjAwMCwxMTM2MywxMzI3MiwxMzQ1NCwxMjgxOCwxMjE4MSwxMjM2MywxMzgxOCwxMjcyNywxMjQ1NCwxMzAwMCwxMzgxOCwxNDM2MywxMzAwMCwxMjYzNiwxMDkwOSwxMzQ1NCwxMTU0NSwxMzA5MCwxMjgxOCwxMTcyNywxMTgxOCwxMjkwOSwxMTE4MSwxMjcyNywxMzI3MiwxMjM2MywxMTU0NSwxMzU0NSwxMzI3MiwxNDA5MCwxMzYzNiwxMjQ1NCwxMzU0NSwxMjkwOSwxMjU0NSwxMzAwMCwxMjAwMCwxMjQ1NCwxMjgxOCwxMzM2MywxMjM2MywxMjI3MiwxMjkwOSwxMjgxOCwxMzkwOSwxMzA5MCwxMjI3MiwxMzQ1NCwxMzQ1NCwxMjI3MiwxMzE4MSwxMzYzNiwxMjQ1NCwxMjU0NSwxMjA5MCwxMzA5MCwxMTgxOCwxMzM2MywxMjA5MCwxMjYzNiwxMjQ1NCwxMzYzNiwxMDQ1NCwxMTM2MywxMTYzNiwxMDgxOCwxMjAwMCwxMzkwOSwxMjcyNywxMjQ1NCwxMTgxOCwxMzI3MiwxMjU0NSwxMjcyNywxMzQ1NCwxMjI3MiwxMTAwMCwxMjcyNywxMjQ1NCwxMjgxOCwxMjYzNiwxMzYzNiwxMjM2MywxMjgxOCwxNDE4MV0sIm9wcyI6MTI2OTJ9LHsibmFtZSI6ImVqcyIsImNvZGUiOiJjb21waWxlZEVqcyh7IG4gOiAxMDAwIH0pOyIsInJ1bnMiOls5MDksOTA5LDkwOSw4MTgsOTA5LDkwOSw5MDksOTA5LDkwOSw4MTgsOTA5LDkwOSw4MTgsOTA5LDkwOSw5MDksOTA5LDkwOSw5MDksODE4LDgxOCw5MDksOTA5LDkwOSw5MDksOTA5LDkwOSw4MTgsODE4LDgxOCw3MjcsNzI3LDkwOSw5MDksOTA5LDkwOSw5MDksODE4LDkwOSw5MDksOTA5LDkwOSw5MDksOTA5LDkwOSw5MDksOTA5LDkwOSw5MDksODE4LDkwOSw5MDksOTA5LDkwOSw5MDksOTA5LDkwOSw5MDksOTA5LDkwOSw5MDksOTA5LDkwOSw5MDksODE4LDkwOSw5MDksOTA5LDkwOSw5MDksOTA5LDkwOSw5MDksOTA5LDkwOSw4MTgsOTA5LDgxOCw4MTgsOTA5LDgxOCw4MTgsOTA5LDkwOSw5MDksOTA5LDkwOSw4MTgsOTA5LDkwOSw4MTgsOTA5LDkwOSw5MDksODE4LDkwOSw5MDksOTA5LDgxOCw5MDldLCJvcHMiOjg4N31dLCJ1cGRhdGVkIjoiMjAyNS0wNi0xMFQxMToyMzoyMS43MTlaIn0%3D )
179
+
[benchmark on perf.link](https://perf.link/#eyJpZCI6IjdyMGN5dHJzazdvIiwidGl0bGUiOiJtaWNyby10ZW1wbGF0ZS5qcyB2cyBlanMiLCJiZWZvcmUiOiJpbXBvcnQgeyBleHRlbmRlZCBhcyB0ZW1wbGF0ZSB9IGZyb20gXCJodHRwczovL2NobzQ1LmdpdGh1Yi5pby9taWNyby10ZW1wbGF0ZS5qcy9saWIvbWljcm8tdGVtcGxhdGUuanNcIjtcbmltcG9ydCBlanMgZnJvbSAnaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9lanMvZWpzLmpzLytlc20nO1xuXG5jb25zdCBURU1QTEFURSA9IGBcbjwlIGZvciAodmFyIGkgPSAxOyBpIDw9IG47IGkrKykgeyAlPlxuXHQ8JT0gIGkgKyAnID0nICU%2BXG5cdDwlIGlmIChpICUgMTUgPT0gMCkgeyAlPlxuXHRGaXp6QnV6elxuXHQ8JSB9IGVsc2UgeyAlPlxuXHRcdDwlIGlmIChpICUgMyA9PSAwKSB7ICU%2BXG5cdFx0Rml6elxuXHRcdDwlIH0gZWxzZSB7ICU%2BXG5cdFx0XHQ8JSBpZiAoaSAlIDUgPT0gMCkgeyAlPlxuXHRcdFx0QnV6elxuXHRcdFx0PCUgfSBlbHNlIHsgJT5cblx0XHRcdDwlPSBpICU%2BXG5cdFx0XHQ8JSB9ICU%2BXG5cdFx0PCUgfSAlPlxuXHQ8JSB9ICU%2BXG5cdC9cbjwlIH0gJT5cbmAudHJpbSgpO1xuXG5jb25zdCBjb21waWxlZEVqcyA9IGVqcy5jb21waWxlKFRFTVBMQVRFKTsiLCJ0ZXN0cyI6W3sibmFtZSI6Im1pY3JvLXRlbXBsYXRlLmpzIiwiY29kZSI6InRlbXBsYXRlKFRFTVBMQVRFLCB7IG4gOiAxMDAwIH0pOyIsInJ1bnMiOlsxMjQ1NCwxMTYzNiwxNDAwMCwxMzM2MywxMzQ1NCwxMjgxOCwxMjgxOCwxMjU0NSwxMjcyNywxMzE4MSwxMzAwMCwxMjE4MSwxMjM2MywxMjU0NSwxMjAwMCwxMTM2MywxMzI3MiwxMzQ1NCwxMjgxOCwxMjE4MSwxMjM2MywxMzgxOCwxMjcyNywxMjQ1NCwxMzAwMCwxMzgxOCwxNDM2MywxMzAwMCwxMjYzNiwxMDkwOSwxMzQ1NCwxMTU0NSwxMzA5MCwxMjgxOCwxMTcyNywxMTgxOCwxMjkwOSwxMTE4MSwxMjcyNywxMzI3MiwxMjM2MywxMTU0NSwxMzU0NSwxMzI3MiwxNDA5MCwxMzYzNiwxMjQ1NCwxMzU0NSwxMjkwOSwxMjU0NSwxMzAwMCwxMjAwMCwxMjQ1NCwxMjgxOCwxMzM2MywxMjM2MywxMjI3MiwxMjkwOSwxMjgxOCwxMzkwOSwxMzA5MCwxMjI3MiwxMzQ1NCwxMzQ1NCwxMjI3MiwxMzE4MSwxMzYzNiwxMjQ1NCwxMjU0NSwxMjA5MCwxMzA5MCwxMTgxOCwxMzM2MywxMjA5MCwxMjYzNiwxMjQ1NCwxMzYzNiwxMDQ1NCwxMTM2MywxMTYzNiwxMDgxOCwxMjAwMCwxMzkwOSwxMjcyNywxMjQ1NCwxMTgxOCwxMzI3MiwxMjU0NSwxMjcyNywxMzQ1NCwxMjI3MiwxMTAwMCwxMjcyNywxMjQ1NCwxMjgxOCwxMjYzNiwxMzYzNiwxMjM2MywxMjgxOCwxNDE4MV0sIm9wcyI6MTI2OTJ9LHsibmFtZSI6ImVqcyIsImNvZGUiOiJjb21waWxlZEVqcyh7IG4gOiAxMDAwIH0pOyIsInJ1bnMiOls5MDksOTA5LDkwOSw4MTgsOTA5LDkwOSw5MDksOTA5LDkwOSw4MTgsOTA5LDkwOSw4MTgsOTA5LDkwOSw5MDksOTA5LDkwOSw5MDksODE4LDgxOCw5MDksOTA5LDkwOSw5MDksOTA5LDkwOSw4MTgsODE4LDgxOCw3MjcsNzI3LDkwOSw5MDksOTA5LDkwOSw5MDksODE4LDkwOSw5MDksOTA5LDkwOSw5MDksOTA5LDkwOSw5MDksOTA5LDkwOSw5MDksOTA5LDkwOSw5MDksOTA5LDkwOSw5MDksOTA5LDkwOSw5MDksOTA5LDkwOSw4MTgsOTA5LDgxOCw4MTgsOTA5LDgxOCw4MTgsOTA5LDkwOSw5MDksOTA5LDkwOSw4MTgsOTA5LDkwOSw4MTgsOTA5LDkwOSw5MDksODE4LDkwOSw5MDksOTA5LDgxOCw5MDldLCJvcHMiOjg4N31dLCJ1cGRhdGVkIjoiMjAyNS0wNi0xMFQxMToyMzoyMS43MTlaIn0%3D )
0 commit comments