ejs v9 javascript テンプレート system_javascript スキル
このバージョンでは、表示とデバッグを容易にするために、バックエンド データには引き続き @frontend が含まれています。昨日、TXのフロントエンドエンジニアともこの必要性について話し合いました。テンプレートに入力する必要がある変数を取得し、バックエンドから渡された JSON と比較して、できるだけ早くデータを検証します。この手法については、$ がプレフィックスとして付いている PHP の変数の名前を確認できます。
以前のバージョンでは、出力ステートメントにセミコロンまたはカンマが含まれている場合、エラーが報告されていました。
内部的に生成される文字列は次のようになります:
__views(data.tr.name;)
ユーザーが誤ってアクセスできないようにするためカンマまたはセミコロンを追加すると、このバージョンでは自動的に処理されます。
コードをコピーします
temp.push( startOfHTML,logic.replace(rAt,"$1 data) .").replace(rlastSemi,''), endOfHTML );
}else{
temp.push(startOfHTML,logic.replace(rlastSemi,''), endOfHTML );
}
Break;
Example
以下は、ブラウザーが JS コードの解析を無視するスクリプト タグ内に配置されたテンプレートです。trs と href の前に @ 識別子が付いていることに注意してください。
コードをコピー
script>
これはその JS コードです:
コードをコピーします
コードは次のとおりです:
$.require("ready,more/ejs,node", function(){
var trs = [ {name:"Invisible Killer",年齢:29,性別: "男性"},
{名前:"そら"、年齢:22、性別:"男性"}、
{名前:"フェショ"、年齢:23、性別:"女性"}、
});
ejs ソース コード
コードをコピー
コードは次のとおりです:
$.define("ejs", "lang",function(){
var
_startOfHTML = "t__views.push(",
_endOfHTML = ");n",
sRight = "&>"、
rLeft = /s*<&s*/、
rRight = /s*>s*/、
rAt = /(^|[^wu00c0- uFFFF_])(@)(?=w)/g,
rLastSemi = /[,;]s*$/
var ejs2 = $.ejs = function(id,data){
data = data ||.startOfHTML = _startOfHTML,
endOfHTML = _endOfHTML,
el = document.
if (!el) throw "ターゲット要素が見つかりません"
str = el.innerHTML;
var arr = str.trim().split(rleft),
buff = ["var __views = [];n"],temp = [],i = 0, n = arr .length,els,segment; 🎜>if( ~segment.indexOf(sright) ){//ここでは els.length === 2 を使用せず、IE の分割バグを回避します
switch ( els[ 0].charAt(0) ) {
case "="://处理后台返還的变量(页面に出た);
ロジック = els[0].substring(1);
if(logic.indexOf("@")!==-1){
temp.push(startOfHTML,logic.replace(rAt,"$1data.").replace(rlastSemi,''), HTML の終わり );
}else{
temp.push( startOfHTML,logic.replace(rlastSemi,''), endOfHTML );
}
休憩;
case "#"://处理注释
break;
default://处理逻辑
logic = els[0];
if(logic.indexOf("@")!==-1){
temp.push(logic.replace(rAt,"$1data."), "n" );
}else{
temp.push(logic, "n" );
}
}
//处理静态HTML片断
els[1] && temp.push(startOfHTML, $.quote( els[1] ), endOfHTML)
}else{
//处理静态HTML片断
temp.push(startOfHTML, $.quote( els[0] ), endOfHTML );
}
}
ejs2[id] = new Function("data",buff.concat(temp).join("") ';return __views.join("");');
return ejs2[id]( data )
}
return ejs2[id]( data )
}
})
// ejs v9!

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 電子メール テンプレート: 電子メール コンテンツのカスタマイズとパーソナライズ 電子メールの人気と広範な使用に伴い、従来の電子メール テンプレートでは、パーソナライズおよびカスタマイズされた電子メール コンテンツに対するユーザーのニーズを満たすことができなくなりました。 PHP プログラミング言語を使用して、カスタマイズおよびパーソナライズされた電子メール テンプレートを作成できるようになりました。この記事では、PHP を使用してこの目標を達成する方法を説明し、いくつかの具体的なコード例を示します。 1. 電子メール テンプレートを作成する まず、基本的な電子メール テンプレートを作成する必要があります。このテンプレートは HTM にすることができます

PPTのマスキングについては、馴染みのない方も多いと思いますが、PPTを作成する際によく理解せず、自分の好きなものを作るために適当に作っている人が多いため、PPTのマスキングの意味が分からない、理解できないという人も多いと思います。 「このマスクが何をするのか知っています。そして、それが写真の単調さを軽減できることさえ知りません。学びたい友達は、来て学び、あなたの PPT 画像に PPT マスクを追加してください。単調さを減らしてください。」では、PPT マスクを追加するにはどうすればよいでしょうか?以下をお読みください。 1. まず、PPT を開き、空白の画像を選択し、次に [背景形式の設定] を右クリックして単色を選択します。 2. [挿入]をクリックし、ワードアートをクリックし、単語を入力します。 3. [挿入]をクリックし、[図形]をクリックします。

C++ テンプレートの特殊化は、関数のオーバーロードと書き換えに影響します。 関数のオーバーロード: 特殊化されたバージョンでは、特定の型のさまざまな実装が提供されるため、コンパイラーが呼び出すことを選択する関数に影響します。関数のオーバーライド: 派生クラスの特殊バージョンは、基本クラスのテンプレート関数をオーバーライドし、関数呼び出し時の派生クラス オブジェクトの動作に影響を与えます。

C++ はさまざまな分野で広く使用されているプログラミング言語であり、そのテンプレート メタプログラミングは、プログラマがコンパイル時に型と値を変換できる高度なプログラミング手法です。テンプレートのメタプログラミングは C++ で広く議論されているトピックであるため、面接ではこれに関連した質問がよく聞かれます。ここでは、C++ で尋ねられる可能性のある、テンプレート メタプログラミングの面接でよく聞かれる質問をいくつか示します。テンプレートメタプログラミングとは何ですか?テンプレート メタプログラミングは、コンパイル時に型と値を操作するための手法です。テンプレートとメタ関数を使用して、型と値に基づいて生成します

Vue で画像テンプレートとマスク処理を実装するにはどうすればよいですか? Vue では、テンプレート効果やマスクの追加など、画像に対して特別な処理を実行する必要があることがよくあります。この記事では、Vue を使用してこれら 2 つの画像処理効果を実現する方法を紹介します。 1. 画像テンプレートの処理 Vue を使用して画像を処理する場合、CSS のフィルター属性を使用してテンプレート効果を実現できます。フィルター属性は要素にグラフィック効果を追加し、明るさフィルターは画像の明るさを変更できます。私たちは変えることができます

Flask-Bootstrap: Flask アプリケーションへのテンプレートの追加 Flask は、Web アプリケーションを構築するためのシンプルかつ柔軟な方法を提供する軽量の Python Web フレームワークです。これは非常に人気のあるフレームワークですが、デフォルトのテンプレートの機能は限られています。魅力的なユーザー インターフェイスを作成するには、追加のフレームワークまたはライブラリを使用します。ここで Flask-Bootstrap が登場します。 Flask-Bootstrap は Twitter ベースの

テンプレートを使用すると、メモを取る作業が速くなり、重要なアイデアをより効果的に捉えることができることをご存知ですか? OneNote には、使用できる既製のテンプレートのセットが用意されています。最も良い点は、ニーズに応じてテンプレートをデザインすることもできることです。学生でも、企業戦士でも、クリエイティブな仕事をしているフリーランサーでも。 OneNote テンプレートを使用すると、自分のスタイルに合った構造と形式で重要なメモを記録できます。テンプレートは、メモを取るプロセスの概要にすることができます。アマチュアはただメモを取るだけですが、プロはメモを取り、テンプレートを使用して適切に構造化されたメモを通じてそこからつながりを引き出します。 OneNote でテンプレートを使用する方法を見てみましょう。既定の OneNote テンプレートを使用する ステップ 1: キーボードの Windows + R を押します。オノタイプ

C++ におけるテンプレートとジェネリックの違い: テンプレート: コンパイル時に定義され、明確に型指定され、効率が高く、コード サイズが小さい。ジェネリック: 実行時の型指定、抽象インターフェイス、柔軟性を提供しますが、効率は低くなります。
