従来のjquery拡張機能をlayuiモジュールに変換する方法の紹介
Layui には jquery が組み込まれています
使用しているモジュールがそれに依存している場合にのみロードされます. また、ページに jquery スクリプトが導入されている場合、繰り返し読み込まれることはありません。組み込みの jquery モジュールは、グローバル $ と jQuery を削除します。
これは、layui ドキュメントの説明です。jq が組み込まれていますが、グローバル $ オブジェクトと jQuery オブジェクトが削除されています。つまり、ウィンドウ内のグローバル外部インターフェイスが削除されています。
ドラッグ アンド ドロップ コンポーネントの実装
siam.js は、これと同様のメソッドを提供する拡張機能であると仮定します。
<div id='test'>原始内容</div> <script src="https://cdn.bootcss.com/jquery/3.4.0/jquery.min.js"></script> <script> $.fn.siam = function(params){ var dom = this; dom.html(params); }; setTimeout(function(){ $("#test").siam('这是新内容'); },800); </script> // 延迟执行完之后会把div内容变为 > 这是新内容
これは、いくつかの従来の JQ 拡張機能の実装原理です。呼び出した DOM に対して、操作の処理が続行されます。この記事の冒頭で述べたように、私はドラッグ アンド ドロップ コンポーネントを使用しています。拡張機能は DOM を処理します。このような外部インターフェイスを通じて、他のイベントの要素とともにドラッグできるようにするためです。
問題の競合
上記の 2 点は、問題に対する基本的な補足です。layui では、グローバル $ オブジェクトと Jquery オブジェクトが削除され、最後に次のコード
;(function($, window, document, undefined){ .....扩展内容 })(window.jQuery || window.Zepto, window, document);
があり、ウィンドウの読み込みに依存しています。Jquery オブジェクト、ウィンドウ オブジェクト、ドキュメント オブジェクト
が上記のクロージャ
に渡されます。 to $、window、document、unknown (渡されないので同じ)
したがって、クロージャで使用される $ には値がなく、拡張機能がロードされるとすぐにエラーが報告されます
$ is not defined 或者 Typeerror Cannot Read Property fn of undefined
jq ファイルの導入を個別にテストしましたが、問題は解決しました。問題ありません (使用したテンプレートのロード順序により、layui の組み込み jq が最初にロードされました)
layui カスタム モジュール
これは公式 Web サイトからの紹介です
layui.code /** 扩展一个test模块 **/ layui.define(function(exports){ //提示:模块也可以依赖其它模块,如:layui.define('layer', callback); var obj = { hello: function(str){ alert('Hello '+ (str||'mymod')); } }; //输出test接口 exports('mymod', obj); });
layui カスタム モジュール メソッドを使用して、layui の他のモジュールを渡すことができます拡張機能がlayuiでjqオブジェクトを操作できるようにします
layui.define(["jquery"], function (exports) { var $ = layui.jquery; // 把第一行的 ;(function($, window, document, undefined){ 换成以上 ...扩展内容 // 把最后一行的换成以下 var obj = { }; exports("自定义模块名", obj); });
Use
layui.use(['form','jquery','自定义模块名'], function (admin, form) { var $ = layui.jquery; var obj = layui.自定义模块名; // 正常使用 即可 比如我的 $("#test").desta('open'); });
この記事は普遍的な方法ではなく、単にこの問題を解決するための私のアイデアと解決策を簡単に説明します。参考として参照してください。
layui フレームワークの詳細については、layui フレームワーク チュートリアル を参照してください。
以上が従来のjquery拡張機能をlayuiモジュールに変換する方法の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホット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)

ホットトピック









Layui ログインページジャンプ設定手順: ジャンプコードの追加: ログインフォーム送信ボタンクリックイベントに判定を追加し、ログイン成功後、window.location.href 経由で指定ページにジャンプします。フォーム構成を変更します。lay-filter="login" のフォーム要素に非表示の入力フィールドを追加します。名前は「redirect」、値はターゲット ページ アドレスです。

layui は、フォームのすべてのフィールド データを直接取得する、単一のフォーム要素の値を取得する、formAPI.getVal() メソッドを使用して指定されたフィールド値を取得する、フォーム データをシリアル化するなど、フォーム データを取得するためのさまざまなメソッドを提供します。これを AJAX リクエスト パラメータとして使用し、フォーム送信イベントをリッスンしてデータを取得します。

layui を使用してデータを送信する方法は次のとおりです。 Ajax を使用する: リクエスト オブジェクトを作成し、リクエスト パラメーター (URL、メソッド、データ) を設定し、レスポンスを処理します。組み込みメソッドを使用する: $.post、$.get、$.postJSON、$.getJSON などの組み込みメソッドを使用してデータ転送を簡素化します。

アダプティブ レイアウトは、layui フレームワークのレスポンシブ レイアウト機能を使用して実現できます。手順には以下が含まれます:layui フレームワークを参照する。アダプティブ レイアウト コンテナを定義し、layui-container クラスを設定します。レスポンシブ ブレークポイント (xs/sm/md/lg) を使用して、特定のブレークポイントの下にある要素を非表示にします。グリッド システム (layui-col-) を使用して要素の幅を指定します。オフセット (layui-offset-) によって間隔を作成します。応答性の高いユーティリティ (layui-invisible/show/block/inline) を使用して、要素の可視性とその表示方法を制御します。

Lauiui と Vue の違いは主に機能と懸念事項に反映されます。 Layui は UI 要素の迅速な開発に重点を置き、ページ構築を簡素化するプレハブ コンポーネントを提供します。Vue は、データ バインディング、コンポーネント開発、および状態管理に重点を置いたフルスタック フレームワークで、複雑なアプリケーションの構築により適しています。 Layui は学習が簡単で、ページをすばやく作成するのに適しています。Vue は学習曲線が急ですが、スケーラブルで保守が簡単なアプリケーションの構築に役立ちます。プロジェクトのニーズと開発者のスキル レベルに応じて、適切なフレームワークを選択できます。

layui は、開発者が最新の応答性の高いインタラクティブな Web アプリケーションを迅速に構築できるように、豊富な UI コンポーネント、ツール、機能を提供するフロントエンド UI フレームワークです。その機能には、柔軟で軽量、モジュール式の設計、豊富なコンポーネント、強力なツール、簡単な機能が含まれます。カスタマイズ。管理システム、電子商取引プラットフォーム、コンテンツ管理システム、ソーシャル ネットワーク、モバイル アプリケーションなど、さまざまな Web アプリケーションの開発に広く使用されています。

layui フレームワークは、開発者が応答性の高い Web アプリケーションを迅速に構築できるようにする、使いやすい UI コンポーネントとツールのセットを提供する JavaScript ベースのフロントエンド フレームワークです。その機能には、モジュール式、軽量、応答性が高く、完全なドキュメントとコミュニティ サポートが含まれます。 layui は、管理バックエンド システム、電子商取引 Web サイト、モバイル アプリケーションの開発で広く使用されています。利点は迅速な起動、効率の向上、メンテナンスの容易さですが、欠点はカスタマイズの貧弱さと技術の更新の遅さです。

layui と vue はフロントエンド フレームワークであり、layui は UI コンポーネントとツールを提供する軽量ライブラリであり、vue は UI コンポーネント、状態管理、データ バインディング、ルーティングなどの機能を提供する包括的なフレームワークです。 layui はモジュール型アーキテクチャに基づいており、vue はコンポーネント化されたアーキテクチャに基づいています。 lauiui には小規模なエコシステムがあり、vue には大規模でアクティブなエコシステムがあります。 Lauiui の学習曲線は低く、vue の学習曲線は急です。 Layui は小規模なプロジェクトや UI コンポーネントの迅速な開発に適しており、vue は大規模なプロジェクトや豊富な機能を必要とするシナリオに適しています。
