epii.js とは
epii.js は、データを UI に迅速にバインドし、イベント バインディングと処理を迅速に実装できるテンプレート エンジンであり、ネイティブでサードパーティのライブラリ (8k のみ) に依存しません。 +Webapp 開発および Web 開発は h5 マイクロ Web ページ上で使用でき、他のフレームワークと競合しません。
開発者は、データや UI、イベント処理の実装に多くの時間を費やすのではなく、アプリケーション自体に集中できるようになります。効率が大幅に向上します。
プロジェクトアドレス
1、基本的なデータバインディング
epii カスタムdomノード属性r-dataは任意のタイプのノードに値を割り当てることができ、入力ノードには最終的にそのvalue属性が割り当てられます、img ノードには値が割り当てられ、その src 属性と他のタイプのノードには innerHtml 属性が割り当てられます。
r-data-defaultが設定されている場合、データがない場合はデフォルト値が表示されます。
r-data="title" と r-data="{title}" の違いは、タイトル値が存在しない場合、前者の場合はタイトル文字列が表示され、後者の場合は空になることです。 2 番目のケースでは、r-data-default が設定されている場合、デフォルト値が表示されます
-
次のコードの効果は、https://epaii.github.io/epii.js/ でプレビューできます。 demo/demo1.html
<div> <h1> </h1> <div></div> <br> <div></div> <!-- 默认值--> <br> <input><!-- input 负值方法1--> <input><!-- input 负值方法2--> <br> <img alt="epii.js テンプレート エンジンの概要" ><!-- img 负值方法1--> <!-- img 负值方法2 ,但这种存在缺点,因为在解析前,已经加载一次不存在的图片,多一次请求,不推荐--> </div> <script> var myepii = epii(document.getElementById("content"));//初始化殷勤,需要制定dom节点 可以是 body myepii.setData({ title: "我是标题", content: "我是内容主题", inputvalue: "input内容", img_url:"https://www.baidu.com/img/bd_logo1.png", img_width:100 }); setTimeout(function () { myepii.setData({ title: "我是新的标题", content: "我是新的内容主题" }); }, 3000);</script>
2 データ バインディング用のその他の構文
epii は、dom ノード属性の変数バインディングを実現でき、スタイル、幅、その他の任意の属性の変数タグを使用できます。次のコードの効果は、ここのプレビューで確認できます
-
は、{info.subject} などのチェーン変数をサポートしています
https://epaii.github.io/epii.js/demo/demo2.html
<div> <h1> </h1> <div></div> <br> <img alt="epii.js テンプレート エンジンの概要" > </div> <script>var myepii = epii(document.getElementById("content"));//初始化引擎,需要制定dom节点 可以是 bodymyepii.setData({ h1_width:100, h1_height:100, h1_color:"red", title: "我是标题", info:{subject:"文章简介"}, img:{ img_url: "https://www.baidu.com/img/bd_logo1.png", img_width: 100} }); setTimeout(function () { myepii.setData({ title: "我是新的标题", h1_width:300, h1_height:300, h1_color:"blue", img:{ img_width:300} }); }, 3000);</script>
3 ノードの非表示/表示
epii DOM ノードの非表示と表示を設定するには 2 つの方法があります
方法 1、style="display: {h1_display}" によるバインドstyle 属性
メソッド 2、r による - 表示タグ r-display="{img_show}-1==0" はブール式文字列である必要があります。このメソッドの使用をお勧めします
。次のコードは、https://epaii.github でプレビューできます。 io/epii.js/demo/demo3.html
<div> <h1> <!--第一种方法,直接在style中 用变量,不推荐--> </h1> <br> <img alt="epii.js テンプレート エンジンの概要" ><!--第二种方法,使用 r-display 标签,推荐--> </div> <script>var myepii = epii(document.getElementById("content"));//初始化引擎,需要制定dom节点 可以是 bodymyepii.setData({ title: "我是标题", h1_display:"block", img_url:"https://www.baidu.com/img/bd_logo1.png", img_show:1}); setTimeout(function () {//两种方法隐藏 myepii.setData({ h1_display:"none", img_show:0}); }, 3000);</script>
4 Click events
-
epii は、r-click-change を使用し、 r-click-function クリック イベントとタグ コンテンツを実装する 2 つのタグ 可変シンボルを使用できます。そのうち、r-click-change タグはクリックでカスタマイズされたジャンプを実装し、r-click-function タグはクリックでトリガーされるカスタム関数を実装します
r-click-change="http://www.baidu.com/?1={title}" クリックすると直接ジャンプします
r-click-function="on_subject_click#{info.subject}# {title}" と onclick="on_subject_click('{info.subject} ','{title}')" を使用すると、同じ効果を得ることができます。前者の使用をお勧めします
onclick、r-click-change、 r-click-function。同じノードを再利用することはできません
次のコードの効果はここでプレビューできます https://epaii.github.io/epii.js/demo/demo9.html
<div> <h1 id=""> </h1> <div></div> <br> <div></div> <br> <div> <div>名称<span></span>, 年龄<span></span> </div> </div> </div> <script>var myepii = epii(document.getElementById("content"));//初始化引擎,需要制定dom节点 可以是 bodymyepii.setData({ title: "列表展示", info:{subject:"文章简介"}, users:[ {name:"张三",age:"12岁"}, {name:"李四",age:"14岁"} ] });function on_subject_click(subject,title) { console.log(subject,title); }function on_item_click(name,age) { console.log(name,age); }</script>
5 カスタム ジャンプ イベント
throughepii.setClickToChangeFunction(f); カスタマイズ r- ネイティブ + Web アプリ開発では、通常、ロケーション ページを直接ジャンプする必要はありません。カスタムプロトコルを処理します。
epii.setClickToChangeFunction(function (url) { console.log(url); });
次のコード効果はここでプレビューできます https://epaii.github.io/epii.js/demo/demo10.html
//自定义r-click-change 处理事件, 在native+webapp开发中 一般需要自定义协议epii.setClickToChangeFunction(function (url) { console.log(url); });var myepii = epii(document.getElementById("content"));//初始化引擎,需要制定dom节点 可以是 bodymyepii.setData({ title: "列表展示", });
6 リスト (基本)
epii r-list タグでこの dom ノードを指定すると、リスト ノード内の変数がリスト内の特定のデータ項目に自動的に切り替わります (次のコード)。エフェクトはここで確認できます プレビュー https://epaii.github.io/epii.js/demo/demo4.html
<div> <h1 id=""> </h1> <div> <div>名称<span></span>,年龄<span></span> </div> </div> </div> <script>var myepii = epii(document.getElementById("content"));//初始化引擎,需要制定dom节点 可以是 bodymyepii.setData({ title: "列表展示", users:[ {name:"张三",age:"12岁"}, {name:"李四",age:"14岁"} ] });</script>
7 リスト (複数のテンプレート)
に複数のテンプレートがある場合リストは、r -display に基づいて、対応するテンプレートを自動的に選択します。次のコードの効果は、ここでプレビューできます https://epaii.github.io/epii.js/demo/demo5.html
<div> <h1 id=""> </h1> <div> <div>,年龄<span></span> </div> <div>,年龄<span></span> </div> </div> </div> <script>var myepii = epii(document.getElementById("content"));//初始化引擎,需要制定dom节点 可以是 bodymyepii.setData({ title: "列表展示", users:[ {name:"张三",age:"12岁",item_type:1}, {name:"李四",age:"14岁",item_type:2}, {name:"张三1",age:"121岁",item_type:1}, {name:"李四1",age:"141岁",item_type:2} ] });</script>
8 リスト (データの追加)
epii リストにデータを追加するには 2 つの方法があります
方法 1、re-setData は、古いデータがある場合、リスト内のすべてのデータを再表示します。変更された場合は、このメソッドを使用します
方法 2、 addData 、既存のデータは変更されず、データを追加します。古いデータに変更がない場合は、このメソッドを使用することをお勧めします
次の効果コードはここでプレビューできます https://epaii.github.io/epii.js/demo/demo6.html
<div> <h1 id=""> </h1> <div> <div>,年龄<span></span> </div> <div>,年龄<span></span> </div> </div> </div> <script>var myepii = epii(document.getElementById("content"));//初始化引擎,需要制定dom节点 可以是 body myepii.setData({ title: "列表展示", users:[ {name:"张三",age:"12岁",item_type:1}, {name:"李四",age:"14岁",item_type:2}, {name:"张三1",age:"121岁",item_type:1}, {name:"李四1",age:"141岁",item_type:2} ] }); setTimeout(function () {//3秒后追加列表myepii.addData({ //追加已有数据,列表将被追加,其它类型直接覆盖title: "追加列表展示", users:[ {name:"张三5",age:"12岁",item_type:1}, {name:"李四6",age:"14岁",item_type:2}, {name:"张三7",age:"121岁",item_type:1}, {name:"李四8",age:"141岁",item_type:2} ] }); },3000);</script>
9 列表(空数据)
通过 r-empty="1" 设置当数据为空,或者未设置时候列表的样式,以下代码效果可在此处预览 https://epaii.github.io/epii.js/demo/demo7.html
<div> <h1 id=""> </h1> <div> <div>,年龄<span></span> </div> <div>,年龄<span></span> </div> <div> </div> </div> <script> var myepii = epii(document.getElementById("content"));//初始化引擎,需要制定dom节点 可以是 body myepii.setData({ title: "列表展示", users:[] }); setTimeout(function () {//3秒后追加列表 myepii.addData({ //追加已有数据,列表将别被加,其它类型直接覆盖 title: "追加列表展示", users:[ {name:"张三5",age:"12岁",item_type:1}, {name:"李四6",age:"14岁",item_type:2}, {name:"张三7",age:"121岁",item_type:1}, {name:"李四8",age:"141岁",item_type:2} ] }); },3000); </script> </div><p> </p><h1 id="数据获取-获取已设置的数据-getData-getDataValue两个方法">10 数据获取,获取已设置的数据,getData,getDataValue两个方法</h1>
通过 epii 的 getData 方法 可以获取所有设置的数据
通过 epii的 getDataValue 方法 可以快速获取已设置的数据,getDataValue 支持多参数,链条key
如 myepii.getDataValue("title"); myepii.getDataValue("info","subject"); myepii.getDataValue("users",1,"age")
以下代码效果可在此处预览 https://epaii.github.io/epii.js/demo/demo8.html
<div> <h1 id=""> </h1> <div> <div>,年龄<span></span> </div> <div>,年龄<span></span> </div> </div> </div> <script>var myepii = epii(document.getElementById("content"));//初始化引擎,需要制定dom节点 可以是 bodymyepii.setData({ title: "获取数据", info:{subject:"标题"}, users:[ {name:"张三",age:"12岁",item_type:1}, {name:"李四",age:"14岁",item_type:2}, {name:"张三1",age:"121岁",item_type:1}, {name:"李四1",age:"141岁",item_type:2} ] }); console.log(myepii.getData()); alert(myepii.getDataValue("title")); alert(myepii.getDataValue("info","subject")); alert(myepii.getDataValue("users",1,"age"));</script>
11 完整的demo,几乎涉及所有语法
demo案例源码:()
demo案例效果:(https://epaii.github.io/epii.js/index.html)
<div> <div> </div> <div>click_to_change</div> <div> </div> <div>{bgcolor};display: {display}" > </div> <div> </div> <img alt="epii.js テンプレート エンジンの概要" >  <input> <input> <div> <span></span> <span></span> <div> <div> 二级列表:</div> <div> <span></span> <span> </span> </div> </div> <span>真的没有数据</span> </div> </div> <script>epii.setClickToChangeFunction(function (url) { alert(url); });function index(c, b) {//this bind to uiviewconsole.log(this.innerHTML); console.log(c); console.log(b); }var data = {"img_url":"https://www.baidu.com/img/bd_logo1.png","display":"block","width":100,"height":200,"bgcolor":"red","name": "张三","sex": "男","isshow": 1,"show_name": "show/hide","map":{"show":"1","age":"map_age"}, "list": [{"name": "list_item_1", "moban": 1}, {"name": "list_item_2", "moban": 2, "age": 2}] };var myepii = epii(document.body); myepii.setData(data);//模拟数据变化setTimeout(function () { myepii.setData({//改变已有数据"hebei":"河北邯郸","name": "李四","sex": "女","map":{"show":"0","age":"map_age1"},"bgcolor":"blue","width":500,"height":50, isshow: 0}); setTimeout(function () { myepii.addData({//追加已有数据,列表将被追加,其它类型直接覆盖"hebei":"河北石家庄", "display":"none","list": [ {"name": "list_item_3", "moban": 1}, {"name": "list_item_4", "moban": 2, "age": 4}, {"moban": 3,"age": 10,"wanju": [{"name": "list_item_list1", "moban": 1}, {"name": "list_item_list2", "moban": 2, a: 5}] }] }); console.log(myepii.getDataValue("name")); console.log(myepii.getDataValue("list",1,"age")); console.log(myepii.getDataValue("list",4,"wanju",1,"name")); },3000); }, 3000);</script>
以上がepii.js テンプレート エンジンの概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

JavaScriptは、現代のWeb開発のコア言語であり、その多様性と柔軟性に広く使用されています。 1)フロントエンド開発:DOM操作と最新のフレームワーク(React、Vue.JS、Angularなど)を通じて、動的なWebページとシングルページアプリケーションを構築します。 2)サーバー側の開発:node.jsは、非ブロッキングI/Oモデルを使用して、高い並行性とリアルタイムアプリケーションを処理します。 3)モバイルおよびデスクトップアプリケーション開発:クロスプラットフォーム開発は、反応および電子を通じて実現され、開発効率を向上させます。

JavaScriptの最新トレンドには、TypeScriptの台頭、最新のフレームワークとライブラリの人気、WebAssemblyの適用が含まれます。将来の見通しは、より強力なタイプシステム、サーバー側のJavaScriptの開発、人工知能と機械学習の拡大、およびIoTおよびEDGEコンピューティングの可能性をカバーしています。

JavaScriptは現代のWeb開発の基礎であり、その主な機能には、イベント駆動型のプログラミング、動的コンテンツ生成、非同期プログラミングが含まれます。 1)イベント駆動型プログラミングにより、Webページはユーザー操作に応じて動的に変更できます。 2)動的コンテンツ生成により、条件に応じてページコンテンツを調整できます。 3)非同期プログラミングにより、ユーザーインターフェイスがブロックされないようにします。 JavaScriptは、Webインタラクション、シングルページアプリケーション、サーバー側の開発で広く使用されており、ユーザーエクスペリエンスとクロスプラットフォーム開発の柔軟性を大幅に改善しています。

Pythonはデータサイエンスや機械学習により適していますが、JavaScriptはフロントエンドとフルスタックの開発により適しています。 1. Pythonは、簡潔な構文とリッチライブラリエコシステムで知られており、データ分析とWeb開発に適しています。 2。JavaScriptは、フロントエンド開発の中核です。 node.jsはサーバー側のプログラミングをサポートしており、フルスタック開発に適しています。

JavaScriptは、最新のブラウザにすでに組み込まれているため、インストールを必要としません。開始するには、テキストエディターとブラウザのみが必要です。 1)ブラウザ環境では、タグを介してHTMLファイルを埋め込んで実行します。 2)node.js環境では、node.jsをダウンロードしてインストールした後、コマンドラインを介してJavaScriptファイルを実行します。

Quartzタイマーを使用してタスクをスケジュールする場合、Quartzでタスク通知を事前に送信する方法、タスクの実行時間はCron式によって設定されます。今...

JavaScriptプログラミング、プロトタイプチェーンの関数パラメーターの理解と操作のJavaScriptのプロトタイプチェーンの関数のパラメーターを取得する方法は、一般的で重要なタスクです...

WeChatアプレットWeb-ViewでVue.jsを使用する動的スタイルの変位障害がvue.jsを使用している理由の分析...


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

Dreamweaver Mac版
ビジュアル Web 開発ツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

ホットトピック



