我在一个组件中实现了一个自定义函数,该组件从URL获取信息并返回一个数组,使用正确的名称和链接来表现为面包屑。 问题是,在该过程的最后一步,应用程序必须在完全不同的URL中进行转换到不同的路径/模型。
如何在最终模板中显示痕迹(在不同的路线中)?
答案 0 :(得分:0)
如果您使用的是EmberSimpleAuth,只需将其存储在会话中:
App.BreadcrumbController = Ember.Controller.extend({
session: Ember.inject.service(),
//...
this.get('session').set('data.breadcrumbs', breadcrumbs)
});
App.anotherController = Ember.Controller.extend({
session: Ember.inject.service(),
breadcrumbs: Ember.computed.alias(this.get('session.data.breadcrumbs')),
});
如果没有,您可以将面包屑数组存储在应用程序控制器中。然后,您可以随时随地使用它。
App.BreadcrumbController = Ember.Controller.extend({
//inject application controller so you can set a property on it
application: Ember.inject.controller(),
//...
//then once you have the breadcrumbs, store them in the application controller
application.set('breadcrumbs', breadcrumbs)
});
App.anotherController = Ember.Controller.extend({
//inject application controller and get the breadcrumb property
application: Ember.inject.controller(),
breadcrumbs: Ember.computed.alias(application.get('breadcrumbs')),
});