2015-11-02 35 views
0

我有一個使用嵌套的RactiveJS組件開發的現有SPA。這非常棒,並且在整個應用程序中提供了大量的靈活性。目前我試圖添加使用page的客戶端路由支持。我的導航在每個組件上使用簡單的{{#visible}}{{/visible}}模板標記來切換高級組件。這在目前的狀態中有點麻煩,因爲當高級組件變成可見時,它總是啓動重新呈現。在模板之外附加/渲染RactiveJS組件

有沒有辦法來渲染的成分,例如,被稱爲widget,不使用

<widget></widget>

方法?我已經「登記」與父組件,但顯然通過

new App.components.widget 

我能夠控制如何/時,它的渲染/插入/分離,但失去了認可,在應用程序的方式構建時組件層次。

回答

0

確切地說有insert。您甚至不需要將其「註冊」到您計劃放置的組件。您可以使用不同的find*方法或nodes輕鬆檢索計劃的容器元素的引用。

var instance = new YourDetachedWidget({ ... }); 
instance.insert('#your-container'); // This could be a node, selector or jQuery object 
+0

這是更多的問題,我失去了從深層嵌套組件引用父rative實例及其繼承數據的能力。 – user1835017