2014-02-13 28 views
0

我很難整合Ember.js與第三方控件(fancytree)。在這種情況下,我希望樹節點在主內容區域顯示不同的Ember視圖。如何從第三方庫切換/轉換Ember路線?

現在,在渲染節點時,我將它們包裝成一個指向'#/ a','#/ b'等的標籤。其他選項我將使用window.location = url;切換到適當的路線。

它的工作,但我學習餘燼和想知道這是否是這樣做的最好的方式..

是否有這樣做的「灰燼」的方式?或者我在做什麼,通常是這樣做的?

謝謝!

回答

1

我不確定我的方式是否是正確的Ember方式,但它對我有用。我在添加了命名空間(在我的情況「應用程序」)的應用控制器:

App.ApplicationController = Ember.ObjectController.extend({ 
    init: function() { 
     this._super(); 
     App.controllerHelper = this; 
    }, 
}); 

現在你可以用這個幫手調用transitionToRoute方法來自世界各地:

App.controllerHelper.transitionToRoute('your route' [, dynamic id]); 

我希望這有助於和請糾正我,如果有更好的方法。

+0

這是一個很酷的黑客,謝謝! –

0

使用History API。 Ember的路由器應該能夠接收狀態變化並進行相應的轉換。