使い方
テンプレートをコンパイルし、データに基づいて結果をすぐにレンダリングします
ジューサー(TPL、データ);
テンプレートのみをコンパイルし、まだレンダリングしないで、再利用可能なコンパイルされた関数を返します。
var compiled_tpl = juicer(tpl);
指定されたデータに基づいて、以前にコンパイルされたテンプレートをレンダリングします
var compiled_tpl = juicer(tpl); var html = compiled_tpl.render(data);
登録/ログインカスタム関数(オブジェクト)
juicer.register( 'function_name'、function); juicer.unregister( 'function_name');
デフォルトのパラメーター構成
{キャッシュ:true [false];スクリプト:true [false];エラー処理:true [false];検出:true [false]; }デフォルトの構成を変更し、1つずつ変更します
Juicer.set( 'Cache'、false);
デフォルトの構成、バッチ変更を変更します
Juicer.set({'Script':false、 'キャッシュ':false})Juicerはデフォルトでコンパイルされたテンプレートをキャッシュし、それにより、データが複数回レンダリングされたときに同じテンプレートを繰り返しコンパイルする時間を避けます。特別なニーズがない場合は、デフォルトのパラメーターでキャッシュをオフにすることは強くお勧めしません。そうすることで、ジューサーキャッシュが無効になり、パフォーマンスが低下します。
文法
* $ {変数}
- $ {}出力変数を使用します。ここで、_はデータソース($ {_})への参照です。カスタム関数の使用をサポートします。
$ {name} $ {name | function} $ {name | function、arg1、arg2} var = links:[{href: 'http://juicer.name'、alt: 'juicer'}、{href: 'http://benben.cc'、alt: 'benben'}、{href: 'http://eued.taobao.com var tpl = ['{@each links as item}'、 '$ {item | links_build} <br />'、 '{@ /hill}']。join( ''); var links = function(data){return '<a href = "' + data.href + '" />';}; juicer.register('links_build'、links); //カスタム関数Juicer(TPL、JSON)を登録します。*脱出/脱出を避けます
- $ {Variable}は出力前に内容を逃がします。出力を逃げたくない場合は、$$ {Variable}を使用してこれを回避できます。
var json = {value: '<strong> juicer </strong>'}; var Escape_tpl = '$ {value}'; var unescape_tpl = '$$ {value}'; Juicer(Escape_tpl、JSON); // output '<strong> juicer </strong>'ジューサー(unescape_tpl、json); //出力 '<strong> Juicer </strong>'*ループ{@each} ... {@/hird}
-Arrayを繰り返し、$ {index}現在のインデックスを繰り返します
{@each list as item、index} $ {item.prop} $ {index} // current index {@//ex*裁判官{@if} ... {@else if} ... {@else} ... {@/if}
*コメント{#コメントコンテンツ}
{#これがコメントの内容です}
*補助ループ{@each i in range(m、n)}
{@each i in Range(5、10)} $ {i}; //出力5; 6; 7; 8; 9; {@/それぞれ}*サブテンプレートネスト{@include tpl、data}
- サブテンプレートネストデータで指定されたサブテンプレートの導入に加えて、「スクリプト」タグに記述されたサブテンプレートコードは、文字列「#id」を指定することでも使用できます。
-HTMLコード:
<script type = "text/juicer" id = "subtpl">私はサブコンテンツ、$ {name} </script>です-JavaScriptコード:
var tpl = 'hi、{@include "#subtpl"、subdata}、end。'; juicer(tpl、{subdata:{name: 'juicer'}}); // open hi、sub content、juicer、end。 //データを介してサブテンプレートを導入すると、次のコードにも同じレンダリング結果があります。vartpl = 'hi、{@include subtpl、subdata}、end。'; Juicer(tpl、{subtpl: "I'm Sub Content、$ {name}"、subdata:{name: 'juicer'}});完全な例
HTMLコード:
<script id = "tpl" type = "text/template"> <ul> {@each list as、index} <li> $ {it.name}(index:index:{index:{index})</li> {@//hill} {@each blah as As} <li> num:$ {it.num} it2} $ {it2.time} <br/> {@/exl} {@/if} </li> {@//ul> </script>JavaScriptコード:
var data = {list:[{name: 'guokai'、show:true}、{name: 'benben'、show:false}、{name: 'dierbaby'、show:true}]、blah:[{num:2}、{num:2}、{num:3、inner:[{'time':'15:00 '» '16:00 '}、{' time ':'17:00'}、{'time':'18:00 '}]}、{num:4}]}; var tpl = document.getElementById( 'tpl')。innerhtml; var html = Juicer(TPL、data);