Heim  >  Artikel  >  Web-Frontend  >  Zusammenfassung der Verwendung des Javascript-Front-End-Template-Engine-Frameworks artTemplate – CSDN-Blog

Zusammenfassung der Verwendung des Javascript-Front-End-Template-Engine-Frameworks artTemplate – CSDN-Blog

无忌哥哥
无忌哥哥Original
2018-07-19 11:23:517237Durchsuche

artTemplate ist das Open-Source-Front-End-Vorlagen-Framework. Es kann problemlos in Webprojekten verwendet werden und ist schnell einsetzbar Vorlagenrahmen.

Lernprozess:

1. Syntaxeinführung:

  • Datenbindung: ähnlich wie bei AngularJS, außer dass Ansicht und Modell getrennt sind Bei der Richtungsbindung ändert sich das Modell und die Ansicht, aber nicht umgekehrt.

<script id="tpl1" type="text/template">
	<h1>1、data mapping example</h1>
	<h2>{{message}}</h2>
</script>
//js中使用模板渲染
var data1 = {message:"hello,artTemplate is a javasript framework."};
$("node1").innerHTML = template("tpl1",data1);
  • Bedingte Beurteilung: Hier wird ein einzelnes Wenn unterstützt. Sie können auch einen Sonst-Zweig hinzufügen. Es gibt keinen Sonst-Wenn-Zweig.

{{if isShow}}
	<h3>(2、满足条件展示消息:{{message}}</h3>
{{else}}
	<h3>(2x、条件不满足,展示默认消息</h3>
{{/if}}
  • Sammlung durchqueren:

{{each list as item index}}
	<h3>the index of message is : {{index+1}} -> {{item}}</h3>
{{/each}}
  • Hilfsfunktion: Kann zum Herstellen einer Verbindung verwendet werden Im Backend werden die angeforderten Daten zugeordnet, z. B. 1->normal, 0->error. Wenn Sie es verwenden, müssen Sie nur „|func“ nach dem Ausdruck übergeben, z. B. {{message | filterhandler}}, wobei filterhandler eine benutzerdefinierte Hilfsfunktion ist.

Definieren Sie zunächst eine Hilfsfunktion. Hier wird eine einfache Datumsformatkonvertierungsfunktion definiert.

template.helper("date2str",function(date){
var today = new Date(date);
var year = today.getFullYear();
var month = today.getMonth()+1;
if(month<10)month = "0"+month;
var day = today.getDate();
if(day<10)day = "0"+day;
return year+"-"+month+"-"+day;
 });

Verwenden Sie die Hilfsfunktion

<p id="node4"></p> 
<script id="tpl4" type="text/template">
	<h1>4、template.helper func example</h1>
	<h3>today is {{datenow | date2str}}</h3>
 </script>

//js代码中调用
 var data4 = {datenow:new Date()};
 $("node4").innerHTML = template("tpl4",data4);
  • Vorkompilierung: Im Gegensatz zur Verwendung von Vorlagen erfordert die Vorkompilierung ein Dokumentfragment vom Typ String und übergibt die Daten dann an vorkompilierte Vorlagen werden gerendert.

var tpl5 = "<h1>5、compile example</h1><h3>this is a string the type is not {{type}}</h3>";
$("node5").innerHTML = template.compile(tpl5)({type:"text/template"});
  • Referenz-Untervorlage:

<p id="node6"></p>
<script id="tpl6" type="text/template">
<h1>6、include child template example</h1>
<p class="parenttemplate">
	<h3>parent template</h3>
	{{include &#39;tpl6-child&#39;}}
</p>
</script>
<script id="tpl6-child" type="text/template">
<p class="childtemplate">
	<h3>child template</h3>
</p>
</script>

2. Laden Sie die template.js-Bibliothek herunter und führen Sie sie in die ein html-Datei.

3. Hier ist ein umfassendes Beispiel, um einige der zuvor eingeführten Syntax zu üben:

<!doctype html>
<html>
<head>
<meta charset="UTF-8"/>
<title>artTemplate example</title>
<style type="text/css">
*{margin:0;}
h1,h2,h3{margin:3px;}
h2,h3{text-indent:20px;}
.parenttemplate{background:#ccc;width:600px;height:60px;}
.childtemplate{background:lightblue;}
</style>
<script type="text/javascript" src="template.js"></script>
<script>
  function $(id){return document.getElementById(id);}
  window.onload = function(){
    //data mapping
    var data1 = {message:"hello,artTemplate is a javasript framework."};
    $("node1").innerHTML = template("tpl1",data1);
    //if condition
    var data2 = {isShow:true,message:"hello,template"};
    $("node2").innerHTML = template("tpl2",data2);
    data2.isShow = false;
    $("node2x").innerHTML = template("tpl2",data2);
    //list foreach
    var data3 = {list:["Javascript","JQuery","artTemplate"]};
    $("node3").innerHTML = template("tpl3",data3);
    //helper function
    template.helper("date2str",function(date){
      var today = new Date(date);
      var year = today.getFullYear();
      var month = today.getMonth()+1;
      if(month<10)month = "0"+month;
      var day = today.getDate();
      if(day<10)day = "0"+day;
      return year+"-"+month+"-"+day;
    });
    var data4 = {datenow:new Date()};
    $("node4").innerHTML = template("tpl4",data4);
    //compile example
    var tpl5 = "<h1>5、compile example</h1><h3>this is a string the type is not {{type}} 
    </h3>";
    $("node5").innerHTML = template.compile(tpl5)({type:"text/template"});
    $("node6").innerHTML = template("tpl6",{});
    //escape html
    $("node7").innerHTML = template("tpl7",{message:"<span>escape html tag</span>"});
  }
</script>
</head>
<body>
	     <p id="node1"></p>
	     <script id="tpl1" type="text/template">
		    <h1>1、data mapping example</h1>
		    <h2>{{message}}</h2>
		 </script>
		 <p id="node2"></p>
		 <p id="node2x"></p>
		 <script id="tpl2" type="text/template">
		     <h1>2、if condition example</h1>
		    {{if isShow}}
			   <h3>(2、满足条件展示消息:{{message}}</h3>
			{{else}}
			   <h3>(2x、条件不满足,展示默认消息</h3>
			{{/if}}
		 </script>
		 <p id="node3"></p>
		 <script id="tpl3" type="text/template">
		    <h1>3、list example</h1>
		    {{each list as item index}}
			   <h3>the index of message is : {{index+1}} -> {{item}}</h3>
			{{/each}}
		 </script>
		 <p id="node4"></p>
		 <script id="tpl4" type="text/template">
		    <h1>4、template.helper func example</h1>
			<h3>today is {{datenow | date2str}}</h3>
		 </script>
		 <p id="node5"></p>
		 <p id="node6"></p>
		 <script id="tpl6" type="text/template">
		     <h1>6、include child template example</h1>
		     <p class="parenttemplate">
		        <h3>parent template</h3>
				{{include &#39;tpl6-child&#39;}}
			 </p>
		 </script>
		 <script id="tpl6-child" type="text/template">
		     <p class="childtemplate">
				   <h3>child template</h3>
			 </p>
		 </script>
		 <p id="node7"></p>
		 <script id="tpl7" type="text/template">
		     <h1>7、escape html tag example</h1>
		     <h3>origin expression : {{#message}}</h3>
			 <h3>after escape ==> : {{message}}</h3>
		 </script>
	</body>
</html>

Führen Sie dieses Beispiel aus und Sie erhalten den folgenden Effekt:

Zusammenfassung der Verwendung des Javascript-Front-End-Template-Engine-Frameworks artTemplate – CSDN-Blog

Das obige ist der detaillierte Inhalt vonZusammenfassung der Verwendung des Javascript-Front-End-Template-Engine-Frameworks artTemplate – CSDN-Blog. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn