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():フロントエンド操作のイベントリスナーを作成します.
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に変換する.
--------dojoのajax操作--------
7.dojo.xhrGet(/*Object*/args):ajaxのGETコミット
8.dojo.xhrPost(/*Object*/args):ajaxのPOSTコミット、text、json、xmlなどのコミット形式をサポートします.
------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;
}
});