6

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

4

2 回答 2

6

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

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

import Router from '../router';

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

ps:代码更新了

于 2016-08-18T08:27:33.190 回答
1

在 Ember 引擎 RFC 讨论中,bcardarella 问道,“Ember 引擎和 Ember 插件有什么区别”?讨论在 ef4 说的地方继续进行,“插件唯一不能做的就是向路由器映射添加路由。” , (我认为他的意思是自动合并的方式),但是在 RFC 线程中给出了一个替代方案和示例:

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


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

于 2017-10-07T00:04:28.417 回答