dojo widgetの実用化

2083 ワード

Dojoユーザは、Widgetタイプを実装することによって、インタフェース上で表現される様々なwidgetのインスタンスを作成し、実装された方法は、2つの選択が可能である.
  • javascript形:
    var properties = {<Attribute>:<Value>,<Attribute2>:<Value2>}; dojo.widget.createWidget("DojoWidgetTypeName", properties, DomNodeAsContainer);  
  • .html形:
    <div id="..." dojoType="<DojoWidgetTypeName>" widgetId="<ID>" [<Attribute>="<Value>"]>  </div> 
  • ここのDojowidget Type Nameは、widgetタイプのJavascriptタイプと同じ名前ではなく、実装されます.
    いくつかのwidgetは、ユーザーがいくつかのデータを提供する必要があります.そして、ほとんどのwidgetはカスタマイズできます.これらのデータを作成するwidgetにどうやって伝えますか?ここでjavascriptはobject変数を使用していますが、これはxml elementのatributeを使用していますが、結果は同じです.ある属性で指定された値はいずれもjavascipt類で宣言された同名の属性に入ります.もちろん、javascriptクラスで未発表の属性を設定したら、効果はありません.ですから、widgetにはどのような属性がありますか?http://www.get-the-answer.info/files/DojoWidgetOverview.pdfいい参考になるかもしれません.
    そのような例示的な方法にかかわらず、結果としては、このwidgetの実例を表すjavascriptオブジェクトが生成され、対象はDOM nodeを持っています.ページ上での表現のために、widget nodeと呼ばれます.widgetの効果は、javascriptの対象がwidget nodeを操作して実現したものです.widget nodeはどうやって生成されますか?
    ほとんどのwidgetタイプはページに表示されているtemplateであり、このwidgetタイプはページに表現されているhtml/cssコードの輪郭であり、一般的にファイル形式でsrc/widget/templateディレクトリに保存されています.実用化の主なステップは、実用化されているパラメータに従ってtemplateを充填し、widgetインスタンスのコードを生成します.充填の方式はもちろんDOMを通しています.これはtemplateのnodeの引用を持つ必要があります.templateでdojoAttachPointを使って該当Widget類の属性にそのnodeを接続することができます.
    <div id=「$this.widgetId」dojoAttachPoint="wizard Node"…はtemplateを充填した後、その充填されたnodeをページのDOMツリーに置く必要があります.このようにして得られたnodeはwidget nodeです.
    templateでwidget類のいくつかの属性値を出力するには、上述の例のように、$
    templateのないwidgetに対しては、例えばContentPaneなどがありますが、これを使って実行すると、ページに表示されるhtmlコードがインスタンス化されます.しかし、同じように該当するWidgetオブジェクトが生成され、いくつかの動的効果が実現されます.
    もちろんブラウザーはdojo形式のhtmlを知らないので、htmlの実用化はページがロードされた後、表示される前に、dojoはページ上のhtmlの実用化方式を処理しました.templateを充填した後、その代替ページでwidgetのnodeを作成しました.widget nodeを得るために、widgetがcontainerであれば、そのsource nodeの下の子)を処理するという例示的な方法がありますが、対応するサブwidgetを実装して、container widgetとの関係を確立します.したがって、最終的に見たページは実際にdojoで処理されたページです.サーバーから元のページを取り戻すのではありません.