簡體   English   中英

Aurelia:單例視圖中的靜態自定義元素

[英]Aurelia: static custom element in singleton view

我有一個帶有單例視圖模型的Aurelia應用程序。 該視圖類似於文件瀏覽器,左側是樹視圖(自定義元素),右側是列表視圖。 視圖模型activationStrategyinvokeLifecycle ,並且列表視圖基於路由參數填充。 展開節點時,將使用AJAX調用填充樹視圖。 樹節點也是自定義元素。 樹視圖是完全自定義的,不使用任何第三方插件。

當用戶導航到另一條路線,然后再次返回到同一路線時,視圖模型將保留,因為它是一個單例。 但是,樹視圖不是因為不支持自定義元素作為單例。

我理解不支持單例自定義元素的原因。 然而,我想知道在導航回同一路線時以某種方式創建“靜態”樹視圖的最佳方法。 到目前為止,我唯一想到的是在注入的共享狀態下保持完整(擴展)樹結構。 然而,這似乎對我來說效率低下,因為樹視圖必須無緣無故地再次渲染,並且它使用添加的類和邏輯來創建樹結構而不必要地使我的代碼復雜化,而樹結構已經隱含在自定義元素中。

任何輸入都表示贊賞。

我的做法是把樹視圖自定義元素上app.htmlnav-bar (外.page-host的) 導航骨架 然后,不應通過更改路徑再次呈現自定義元素。

Aurelia docs中描述了類似的情況,就像你所擁有的情況一樣。 請參閱本教程 同樣來自教程:

router-view由Aurelia提供,是占位符,指示路由器應呈現當前路由的位置。

如果您需要根據某些特殊情況或路由更改樹視圖,則可以在樹視圖自定義元素中使用事件聚合器來處理此類特殊情況。 本教程還顯示了使用事件聚合器來同步自定義元素(請參閱此部分 )。

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM