Emberjs:transitionToRoute在具有不同模型值的相同路线中

时间:2013-03-06 08:55:19

标签: ember.js ember-router

我有一个由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' });

  4. 可能的转换是从领土到聚合器,从聚合器到项目,从项目到子项目。 子项使用相同的路径(第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

1 个答案:

答案 0 :(得分:0)

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