【问题标题】:Ember .transitionToRoute and currentModel issueEmber .transitionToRoute 和 currentModel 问题
【发布时间】:2013-05-24 13:48:48
【问题描述】:

我的路线已定义:

this.resource("visitor", {path: ":id"});

当我通过网址/12345访问页面时,this.currentModel的值为

{id: "12345"}

但是当我从另一个(父)控制器this.transitionToRoute("visitor", "12345") 时,this.currentModel 的值是

"12345"

我也遇到了这个异常:

Uncaught Error: assertion failed: Path '12345' must be global if no obj is given.

有什么想法吗?

更多代码:

App.VisitorRoute = Ember.Route.extend({
  model: function (params) {
    return {id: params.id};
  },
  setupController: function() { ... }
}

【问题讨论】:

    标签: javascript ember.js javascript-framework


    【解决方案1】:

    您需要向路由器解释如何将您的模型转换为 URL,因为您需要覆盖 serialize

    App.VisitorRoute = Ember.Route.extend({
      model: function (params) {
        return {id: params.id};
      },
      serialize: function(model) {
        return model;  
      }
    });
    

    然后通过转换传递模型:

    this.transitionToRoute('visitor' , { id: 12345 });
    

    【讨论】:

      【解决方案2】:

      当你调用 this.transitionToRoute() 时,你需要传入路由和模型作为参数,所以不要使用 this.transitionToRoute("visitor", "12345"),而是使用 this.transitionToRoute("visitor",访问者模型)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-02-24
        • 2014-08-12
        • 1970-01-01
        • 1970-01-01
        • 2020-05-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多