2016-09-07 101 views
1

我使用基於用戶交互在CY中切換的不同邊集合,因此在每個時刻只有其中一個集合處於CY實例中。我需要直接從JS對象數據中直接在這個「遠程」集合之一中創建新元素,除了用cy.add(eleObjs)創建新邊線,然後從CY中刪除這些元素之外,我無法確定如何去做。將eleObjs添加到集合

有沒有辦法如何從JS對象(eleObj)而不是使用cy.add(eleObj)創建CY元素?我試過eles.add(eleObj),但它不起作用。

我想創建一個單獨的CY實例只是爲了這個目的,但我不知道這是否是最好的解決方案,其中一個問題是在這種情況下,我還需要同步CY實例之間的節點能夠創造新的邊緣。

回答

1

您可以考慮將已刪除的節點視爲與您文件系統中垃圾桶中的文件類似。您不會創建已刪除的節點,就像您不會在垃圾桶中創建新文件一樣。

像往常一樣將您的元素添加到圖中。你可以在你不想顯示的元素上設置display: none。您也可以僅對通過eles.layout()可見的圖表的子集執行佈局。

說明:分離出的尚未與圖形關聯的元素與模型不一致。創建沒有關聯圖的元素不會爲您帶來任何性能提升 - 因爲這些元素不會超過您已擁有的JSON。它不會爲你帶來任何便利 - 因爲你無法做任何事情,cy.add(elesJson)就像cy.add(preexistingEles)一樣方便。

+0

謝謝Max!我現在明白了,並且使用class和display:沒有解決我的問題。 – Haba