第二部分: Dijit 3.1 內容部件

內容部件( Content Pane)是最基本的佈局部分(layout tile)。概念上,就象是MyYahoo portals的內容框。 內容部件就象iframe,但包括了其他的設計特點,適應當前的主題,已經提供了合適的部件。

你可以單獨使用內容部件,但通常你可以把它放在一個佈局容器中。例如,在一個tab部件中,內容部件用來包含tab中的內容信息。

例子

簡單的內容部件,內容在tag中。大多數情況下,內容部件是用在部件容器中,所以這個例子太簡單了。

<script type="text/javascript">
        dojo.require(
"dijit.layout.ContentPane");
        dojo.require(
"dijit.util.parser");
</script>
...
<div dojoType="dijit.layout.ContentPane" >
    Lorem ipsum dolor...
</div>

連接內容部件(Linked content panes)即使沒有容器也非常有用,如果下面是一個tree.html:

<div dojoType="dijit.Tree" store="popStore" query="{type:'category'}"
                labelAttr
="name" typeAttr="type"></div>

你可以在頁面上包含這個頁面。因爲樹需要比較長的時間加載,我們給使用者顯示加載信息。

<script type="text/javascript">
        dojo.require(
"dijit.layout.ContentPane");
        dojo.require(
"dijit.Tree");
        dojo.require(
"dijit.util.parser");
</script>

<div preload="true" dojoType="dijit.layout.ContentPane" class="box"  href="tree.html">
        This text be replaced with the tree
</div>

注意樹的dojo.require是放在調用的html中。腳本標籤和 Javascript在被包含頁面中會被忽略。

Dijit類型,屬性,事件和方法

dijit.layout.ContentPane
處理文檔片段替代方式,用文本初始化部件
屬性
handler String||Function - 通過java proxy函數來產生窗格(Pane)內容。
href String None, uses body of tag for content 內容的 href現在顯示。必須符合XHR規則,比如:URL必須在同一臺server上。如果你想通過外部的方式裝載數據,就必須在構建的時候,在建立部件後改變href屬性沒有任何效果,需要用setUrl方法。
loadingMessage String Loading... 下載時顯示的信息。需要設置href屬性
preload Boolean false 強制裝載數據(即使窗格是隱藏的)注意爲了延遲下載,你需要在節點初始化的時候就隱藏節點。
refreshOnShow Boolean false 當窗格從隱藏到顯示的時候,刷新(重新下載)內容
方法
setContent(/*String||DomNode*/ content) 用新的數據內容替換舊的內容,包括舊內容中的style classes
setUrl(/*String||dojo.uri.Uri*/ url) 重置窗格內容(外部定義),用新url替換。

可訪問性

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章