Dojo-API紹介

2879 ワード

ネット上のDojoに関する文章はたくさんありますが、私はプロジェクトの経験から自分の使い方、例を述べて、参考にします.Dojoは強力なオブジェクト向けJavaScriptフレームワークです.主に3つのモジュールから構成されています:Core、Dijit、DojoX.CoreはAjax,events,packaging,CSS-based querying,animations,JSONなどの関連操作APIを提供している.Dijitは、テンプレートベースのWEB UIコントロールライブラリで、皮膚を交換できます.DojoXには、DateGrid、charts、オフラインアプリケーション、ブラウザ間ベクトル描画など、革新的な/斬新なコードとコントロールが含まれています.
------dojo関連オブジェクトを取得--------
       1.dojo.byId():documentに等しい.getElementById()は、DOMノードのIDに基づいてそのノードDOMオブジェクトを取得する.
       2.dijit.byId():dojo widgetシステムによって作成されたオブジェクトを取得し、このオブジェクトのメソッドを呼び出したり、オブジェクトのプロパティを変更したりすることができます.
------dojoリスニングイベント--------
       3.dojo.connect():フロントエンド操作のイベントリスナーを作成します.
               /* Set up a connection */

               dojo.connect(/*Object|null*/ obj,

                                  /*String*/ event,

                                 /*Object|null*/ context,

                                /*String|Function*/ method) // Returns a Handle

       4. dojo.disconnect(/*Handle*/handle);Listenerの登録解除/*Tear down a connection*/
---------dojoのjson処理--------
       5.dojo.fromJson(/*String*/json)//json stringをjson objectに変換
       6.dojo.toJson(/*Object*/json,/*Boolean?*/prettyPrint)/json objectをjson stringに変換する.
 
     var o = {a:1, b:2, c:3, d:4};

    dojo.toJson(o, true); //pretty print

    /* produces ...

    '{

    "a": 1,

    "b": 2,

    "c":3,

    "d":4

    }'


--------dojoのajax操作--------
        7.dojo.xhrGet(/*Object*/args):ajaxのGETコミット
      dojo.addOnLoad(function( ) {

                  dojo.xhrGet({url : "someText.html", //the relative URL

                // Run this function if the request is successfulload : 

                 function(response, ioArgs) {

                       console.log("successful xhrGet", response, ioArgs);

                      dojo.byId("foo").innerHTML= response;   //always return the response back

                  },

                  // Run this function if the request is not successfulerror :

                 function(response, ioArgs) {

                    console.log("failed xhrGet", response, ioArgs);}

               });

         });

        8.dojo.xhrPost(/*Object*/args):ajaxのPOSTコミット、text、json、xmlなどのコミット形式をサポートします.
    dojo.xhrPost({

         url : "/place/to/post/some/raw/data",

         postData : "{foo : 'bar'}", //a JSON literal

         handleAs : "json",

         load : function(response, ioArgs) {

                 /* Something interesting happens here */

               return response;

         },

       error : function(response, ioArgs) {

           /* Better handle that error */

            return response;

       }

    });