0

在此示例中无法使返回按钮正常工作。总是返回数据库状态。

App.Router = Ember.Router.extend({
  enableLogging: true,
  root: Ember.Route.extend({
    index: Ember.Route.extend({
      route: '/',
      redirectsTo: 'databases'
    })
  }),
  databases: Ember.Route.extend({
    route: '/databases',
    show: Ember.Route.transitionTo('database'),
    connectOutlets: function(router) {
      var applicationController = router.get('applicationController');
      applicationController.connectOutlet('databases');
      App.router.get('databasesController').loadDatabases();
    }
  }),
  database: Ember.Route.extend({
    route: "/databases/:db_name",
    connectOutlets: function(router, db) {
      var applicationController = router.get('applicationController');
      applicationController.connectOutlet('database', db);
    }
  })
})

链接到动作“显示”:{{ action show db href=true }}

STATEMANAGER:输入根 ember-1.0.0-pre.2.min.js:18
STATEMANAGER:将事件“navigateAway”发送到状态根。ember-1.0.0-pre.2.min.js:18
STATEMANAGER:将事件“unroutePath”发送到状态根。ember-1.0.0-pre.2.min.js:18
STATEMANAGER:将事件“routePath”发送到状态根。ember-1.0.0-pre.2.min.js:18
STATEMANAGER:输入 root.index ember-1.0.0-pre.2.min.js:18
STATEMANAGER:进入数据库

然后我点击“显示”动作

STATEMANAGER:将事件“show”发送到状态数据库。ember-1.0.0-pre.2.min.js:18
STATEMANAGER:进入数据库

现在按下浏览器的后退按钮

STATEMANAGER:将事件“navigateAway”发送到状态数据库。ember-1.0.0-pre.2.min.js:18
STATEMANAGER:将事件“unroutePath”发送到状态数据库。ember-1.0.0-pre.2.min.js:18
STATEMANAGER:将事件“routePath”发送到状态数据库。

为什么是状态数据库?我想这是因为transitionTo('database')在表演中。成功显示项目列表,单击一个并获取详细视图,而不是单击“返回”并返回列表视图的黄金路径是什么?

4

1 回答 1

1

根据 Mehul Kar 的评论,路线应该是嵌套的。

于 2012-12-13T15:55:35.137 回答