添加路线到Ember Addon

时间:2016-08-18 08:14:57

标签: ember.js ember-addon

我正在开发ember插件,我需要在使用此插件的所有应用程序之间共享一条路线,但我不知道如何实现这一目标,或者它是否可能。我已经在插件中添加了路由,但是使用couonume addon的应用程序,并没有看到这一点。有什么建议? 谢谢!

2 个答案:

答案 0 :(得分:6)

是的,这是可能的。您在插件的app目录中放入的内容将与使用应用程序的app目录合并。 (Resource)将您的路线放入正确的目录。

另一方面,您需要将路由添加到路由器映射。您可以使用instance-initializers来实现此目的。另外,不要忘记将实例初始化程序放在app目录中。你需要在初始化函数中做的就是调用Router.map(...)代码将是这样的:

import Router from '../router';

function initialize(){
  Router.map(function() {
    this.route('yourroute');
  });
}

ps:代码已更新

答案 1 :(得分:1)

在Ember Engines RFC讨论中,bcardarella,问," Ember Engine和Ember Addon" 之间的区别是什么? ef4说的话继续讨论, "插件唯一不能做的就是在路由器地图中添加路由。" ,(I认为他的意思是自动合并的方式),但RFC线程中给出了一个替代和示例:

https://github.com/emberjs/rfcs/pull/10#issuecomment-60504581 https://github.com/dockyard/ember-admin#usage

因此,您可以使用bcardarella建议的解决方法。或者,您可以尝试Ember Engines(也以Addon包的形式提供)。