この例では、データグリッド(DataGridの)にツールバー(ツールバー)を追加する方法を示します。
データグリッド(DataGridの)を作成します。
URL = "データ/ datagrid_data.json"
タイトル=「データグリッドとツールバー」iconCls =「アイコン保存」
ツールバー= "#1 TB">
Node.jsのは、単一のプロセス、シングルスレッドアプリケーションであるが、非同期コールバックインターフェースV8エンジンが提供起因して、これらのインタフェースを介して同時の多数を扱うことができるので、性能は非常に高いです。
Node.jsのAPIは、ほぼすべてのコールバック関数によってサポートされています。
Node.jsのは、実質的にイベントメカニズムのすべては、設計モードオブザーバ・モードで実装されています。
イベントは、コールバック関数と呼ばれて発生した場合、何の出口イベントオブザーバ存在しなくなるまでのNode.jsはシングルスレッドながら(真)イベントループに入ると同様であり、各非同期イベントは、イベントオブザーバを生成します。
イベント駆動型プログラミング
その後、Node.jsのイベント駆動型Webサーバがリクエストを受信したモデルと、それを先送りにして、Webサービスに次の要求するように処理。
リクエストが完了すると、それはキューが最初に到達したときに、結果がユーザーに返され、処理キューをバックに置かれています。
このモデルは、ウェブサーバは、任意の読み取りまたは書き込み操作を待たずに要求を受信しているため、非常に効率的な拡張性は、非常に強いです。(これは、イベント駆動型、非ブロッキングIOまたはIOとして知られています)
イベント駆動型モデルでは、それはイベントを監視するためのメインループが生成され、イベントが検出されたコールバック関数がトリガー。
全体イベント駆動型のプロセスは非常にシンプルなので、達成可能です。オブザーバーパターンにいくらか類似し、イベントがテーマ(主題)に相当し、このイベントの処理機能は、登録されたすべての観察者(観察)と等価です。
Node.jsのは、私たちがイベントモジュールの導入によることができ、結合して、次の例を持つEventEmitterクラスをインスタンス化することにより、イベントをリッスンするために、複数の組み込みのイベントがあります。
//導入イベントモジュール
VaRのイベント=は(「イベント」)が必要です。
//オブジェクトを作成持つEventEmitter
VAR持つEventEmitter =新しいevents.EventEmitter();
イベントハンドラをバインド、次の手順:
//バインドイベントハンドラとイベント
eventEmitter.on( 'eventNameの'、なeventHandler);
私たちは、イベントプログラムによってトリガすることができます。
//トリガイベント
eventEmitter.emit( 'eventNameの');
例
次のようにmain.jsファイルの作成、コードは次のとおりです。
//導入イベントモジュール
VaRのイベント=は(「イベント」)が必要です。
//オブジェクトを作成持つEventEmitter
VAR持つEventEmitter =新しいevents.EventEmitter();
//イベントハンドラを作成します
VaRのconnectHandler =接続された機能(){
console.log(「接続に成功しました。」);
//トリガイベントdata_received
eventEmitter.emit( 'data_received');
}
//バインド接続イベントハンドラ
eventEmitter.on( '接続'、connectHandler)。
// data_receivedイベントをバインド無名関数を使用します
eventEmitter.on( 'data_received'、関数(){
console.log(「が正常にデータを受信しました。」);
});
//トリガ接続イベント
eventEmitter.emit( '接続');
console.logは( "プログラムが終了します。");
のは、上記のコードを実行してみましょう:
$ノードmain.js
接続は成功です。
データの受信に成功しました。
プログラムの実行が完了しています。
どのノードアプリケーションの動作?
ノード内のアプリケーション機能は、コールバック関数が最初のパラメータとしてエラーオブジェクトを受け取り、最後のパラメータコールバックとして非同期動作を行います。
次のように私たちは前の例で再見てみましょう、INPUT.TXTを作成し、文書が読み取ります。
農業チュートリアルコードの公式ウェブサイトのアドレス:www.codercto.com
次のようにmain.jsファイルの作成、コードは次のとおりです。
VaRのFSの=は、( "FS")を必要とします。
fs.readFile( 'INPUT.TXT'、関数(ERR、データ){
{(ERR)場合
console.log(err.stack)。
返します。
}
console.log(data.toString())。
});
console.logは( "プログラムが終了しました");
ファイルを読むためfs.readFile上記のプログラム()関数は非同期です。エラーは、ファイルの読み出し処理で発生した場合、誤差errオブジェクト出力エラーメッセージがなります。
エラーが発生していない場合、readFileのは、出力Errオブジェクトをスキップし、文書には、コールバック関数によって出力されます。
上記のコードは次のように実行結果は、実行されます。
プログラムが終了します
農業チュートリアルコードの公式ウェブサイトのアドレス:www.codercto.com
次は、次のような結果があり、INPUT.TXTファイルを削除します。
プログラムが終了します
エラー:ENOENT、オープン 'INPUT.TXT'
INPUT.TXTファイルが存在し、そのエラーメッセージの出力はありませんので。(編集:Leilin鵬出典:削除されたネットワーク侵入)
アイテムのID | 製品番号 | 定価 | 単価 | 属性 | ステータスは基づいていました |
---|
私たちは、データグリッド(DataGridの)に単に「ツールバー」プロパティ添付ツールバー(ツールバー)ことにより、任意のJavaScriptコードを記述する必要はありません。
jQueryのEasyUI例をダウンロード
jeasyui-datagrid-datagrid4.zip(編集:Leilin鵬出典:ネットワーク侵入は削除)