我有一個帶有6個定製小部件的JSP頁面,在TabContainer中。代碼看起來像這樣:在Dojo ContentPanes中動態加載小部件
<div data-dojo-type="dijit/layout/TabContainer" data-dojo-props="region: 'center', gutters:false">
<div data-dojo-type="dijit/layout/ContentPane" title="<b>Registries</b>">
<div data-dojo-type="my/custom/Widget"></div>
</div>
...(5 more ContentPanes like this)
</div>
當頁面加載時,每個選項卡加載每個小部件,它很慢。大多數情況下,我只需要訪問其中的一個標籤並且不關心其他標籤,因此我決定要動態加載這些內容。
當爲Dojo ContentPane指定href屬性時,該內容將不會被加載或解析,直到選中該選項卡。唯一的問題是,這意味着我將不得不創建6個新的.html文件,除此之外沒有任何內容。這就像是以編程方式加載小部件的聲明性方式......有點奇怪。
有沒有一種方法可以簡單地告訴ContentPane我只是希望它動態加載我的自定義小部件而不必創建html標記?目前,我創建了一個Spring控制器方法,該方法接受一個帶有「widget」屬性的String,並返回一個字符串,該div是一個div,數據dojo類型設置爲widget名稱,這是一種編程方式,定義要加載的聲明標記以編程方式...它只是越來越we!!所以現在我所有的內容窗格如下所示:
<div data-dojo-type="dijit/layout/ContentPane" title="<b>Registries</b>" data-dojo-props='href:"rest/dynamicWidgetHtml/my.custom.Widget/"'></div>
其中「my.custom.Widget」是一個彈簧控制器路徑變量。
任何方法來簡化這一點,並消除調用服務器來構建div的需要,以便選擇選項卡時可以動態加載小部件?
「data-dojo-type」不是有效的javascript鍵,請使用引號。 – Mats