【问题标题】:Can't get back button work correctly in ember.js无法在 ember.js 中恢复按钮正常工作
【发布时间】:2012-12-11 18:19:53
【问题描述】:

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

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') 在表演中。什么是成功显示项目列表,单击一个并获得详细视图,而不是单击“返回”并返回列表视图的黄金路径?

【问题讨论】:

  • Sammy,我首先将databasesdatabase 路由嵌套在root 路由中。

标签: ember.js


【解决方案1】:

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

【讨论】:

  • 哈哈,我不认为这是答案,但很高兴知道它解决了问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-31
  • 1970-01-01
  • 1970-01-01
  • 2013-11-11
  • 2017-03-15
  • 1970-01-01
相关资源
最近更新 更多