1

我在一个组件中实现了一个自定义函数,该函数从 URL 获取信息并返回一个数组,其中包含正确的名称和链接,以便充当面包屑。问题是该过程的最后一步,应用程序必须在完全不同的 URL 中转换到不同的路由/模型。

如何在最终模板中显示面包屑(在不同的路线中)?

4

1 回答 1

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')),

});
于 2016-04-11T14:20:50.390 回答