7

我有一个由 3 条路线组成的 Ember 应用程序:

  1. router.route('territory', { path: 'localhost/app/territory/:tid' });

  2. router.route('aggregator', { path: localhost/app/territory/:tid:/aggregator/:aid' });

  3. router.route(territory, { path: 'localhost/app/territory/:tid/aggregator/:aid/item/:iid' });

可能的过渡是从区域到聚合器,从聚合器到项目,以及从项目到子项目。子项使用相同的路由(第3个),只是更改了路由模型中的iID值。

我创建了一个动作,允许用户使用一些逻辑进入特定路线,最后运行命令:

model={
    tid: "ttt"
    aid: "aaa"
    iid: "iii"
}

destination = 'item'; //the name of item route

controller.transitionToRoute(destination, model);

如果我在项目路径中并且想要移动到其他项目,则 URL 将更新,但不会更新页面内容。显然,如果我用生成的 URL 刷新页面,内容将会更新。

问题出在哪里?在已弃用的过渡方法中,还是我必须使用不同的方法?

重要提示:我正在使用 EmberJS - V1.0.0-RC.1

4

1 回答 1

0

不是错误只是 emberjs 中的正常情况,因为每条路由都有modelsetupController. 模型函数用于从 WS 或 Data 模块异步检索必要的信息(是RSVP.Promise)。完成后,信息将传递给setupController函数,在哪里可以设置与当前路由视图连接的控制器的属性。每次我改变路径的值而不是路径时,只会setupController被调用。总而言之,就我而言,问题只是代码的组织问题。

于 2014-01-18T11:20:01.910 回答