W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
創(chuàng)建一個預編譯模板方法,可以插入數(shù)據(jù)到模板中 "interpolate" 分隔符相應的位置。 HTML會在 "escape" 分隔符中轉換為相應實體。 在 "evaluate" 分隔符中允許執(zhí)行JavaScript代碼。 在模板中可以自由訪問變量。 如果設置了選項對象,則會優(yōu)先覆蓋?_.templateSettings
?的值。注意: 在開發(fā)過程中,構建_.template可以使用sourceURLs, 便于調試。了解更多預編譯模板的信息查看lodash的自定義構建文檔。了解更多 Chrome 沙箱擴展的信息查看Chrome的擴展文檔。
0.1.0
(Function): 返回編譯模板函數(shù)。
// 使用 "interpolate" 分隔符創(chuàng)建編譯模板
var compiled = _.template('hello <%= user %>!');
compiled({ 'user': 'fred' });
// => 'hello fred!'
// 使用 HTML "escape" 轉義數(shù)據(jù)的值
var compiled = _.template('<b><%- value %></b>');
compiled({ 'value': '<script>' });
// => '<b><script></b>'
// 使用 "evaluate" 分隔符執(zhí)行 JavaScript 和 生成HTML代碼
var compiled = _.template('<% _.forEach(users, function(user) { %><li><%- user %></li><% }); %>');
compiled({ 'users': ['fred', 'barney'] });
// => '<li>fred</li><li>barney</li>'
// 在 "evaluate" 分隔符中使用內(nèi)部的 `print` 函數(shù)
var compiled = _.template('<% print("hello " + user); %>!');
compiled({ 'user': 'barney' });
// => 'hello barney!'
// 使用 ES 分隔符代替默認的 "interpolate" 分隔符
var compiled = _.template('hello ${ user }!');
compiled({ 'user': 'pebbles' });
// => 'hello pebbles!'
// 使用自定義的模板分隔符
_.templateSettings.interpolate = /{{([\s\S]+?)}}/g;
var compiled = _.template('hello {{ user }}!');
compiled({ 'user': 'mustache' });
// => 'hello mustache!' // 使用反斜杠符號作為純文本處理
var compiled = _.template('<%= "\\<%- value %\\>" %>');
compiled({ 'value': 'ignored' });
// => '<%- value %>'
// 使用 `imports` 選項導入 `jq` 作為 `jQuery` 的別名
var text = '<% jq.each(users, function(user) { %><li><%- user %></li><% }); %>';
var compiled = _.template(text, { 'imports': { 'jq': jQuery } });
compiled({ 'users': ['fred', 'barney'] });
// => '<li>fred</li><li>barney</li>'
// 使用 `sourceURL` 選項指定模板的來源URL
var compiled = _.template('hello <%= user %>!', { 'sourceURL': '/basic/greeting.jst' });
compiled(data);
// => 在開發(fā)工具的 Sources 選項卡 或 Resources 面板中找到 "greeting.jst"
// 使用 `variable` 選項確保在編譯模板中不聲明變量
var compiled = _.template('hi <%= data.user %>!', { 'variable': 'data' });
compiled.source;
// => function(data) {
// var __t, __p = '';
// __p += 'hi ' + ((__t = ( data.user )) == null ? '' : __t) + '!';
// return __p;// }
// 使用 `source` 特性內(nèi)聯(lián)編譯模板
// 便以查看行號、錯誤信息、堆棧
fs.writeFileSync(path.join(cwd, 'jst.js'), '\
var JST = {
\ "main": ' + _.template(mainText).source + '\ };
\');
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: