如何从第三方库切换/转换Ember路由?

时间:2014-02-13 14:57:09

标签: javascript web-applications ember.js

我很难将Ember.js与第三方控件(fancytree)集成。在这种情况下,我希望树节点在主要内容区域上显示不同的Ember视图。

现在,在渲染节点时,我将它们包装成指向'#/ a','#/ b'等的标签。其他选项我虽然会使用window.location = url;来切换到合适的路线。

它正在运作,但我正在学习Ember,并想知道这是否是最佳方式。

这样做是否有“Ember”方式?或者我正在做的是通常如何做到这一点?

谢谢!

2 个答案:

答案 0 :(得分:1)

我不确定我的方式是不是正确的Ember方式,但它对我有用。我在命名空间(在我的情况下是'App')中添加了应用程序控制器:

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

现在,您可以使用此帮助程序从任何地方调用transitionToRoute方法:

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

我希望这有帮助,如果有更好的方法,请纠正我。

答案 1 :(得分:0)

使用History API。 Ember的路由器应该能够获取状态变化并相应地进行转换。