[英]Updating embeded components in seaside, without refreshing the whole page
我有一個組件(ItemTree),它有3個嵌入組件。 第一個(ItemTreeList)是要選擇的項目列表。 第二個(ItemGIDE)顯示所選項目的屬性。
在ItemTreeList上進行新選擇時,如何告訴ItemGIDE更新?
首先,這比我要做的更復雜。 ItemTreeList具有節點類型和節點實例的hirarchy。 它具有可折疊的div,當點擊頂層hirarchy項或下面的實例時,將在其他對象上設置各種變量。 因此,只需單擊即可完成大量操作。 我已經讓ItemTreeList更新自己而不刷新整個頁面。 只需要“聲明”它需要刷新的其他組件(ItemGIDE)(再次沒有刷新整個頁面)。
“ Dynamic Web Development with Seaside ”一書包含一個關於JQuery的章節草案。 在那里,您可以找到一個名為“ 替換組件”的部分,其中包含您要求的示例:
OuterComponent>>renderContentOn: html
html div
id: (id := html nextId);
with: child.
html anchor
onClick: ((html jQuery id: id) load
html: [ :r |
child := OtherComponent new;
r render: child ]);
with: 'Change Component'
該代碼顯示了外部組件的render方法。 它假定組件有一個名為child
的變量,該變量使用初始渲染中顯示的組件進行初始化。 此外,它假定組件具有一個名為id
的變量,該變量在呈現期間設置為記住呈現子組件的目標DOM節點。 在錨的AJAX回調中,用OtherComponent new
替換子組件並重新呈現目標節點的內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.