0

这是我的应用程序结构。http://jsfiddle.net/cc7fC/

  • 联系人
  • 联系人/新
  • 联系人/<id> //联系人
  • 联系人/<id>/edit

我正在尝试将“new”、“contact”和“contact.edit”加载到同一个 {{outlet}} 中。在我完成编辑并点击保存后。在我手动单击联系人之前,视图不会刷新。

...
submit: function(post) {
      post.get('store').commit();
      if (post.didCreate) {
        //debugger;
        return this.transitionTo('contact');
      }
...

编辑:修正错别字和格式

4

1 回答 1

3

你在这里有几个问题。

你不能把contactcontact.edit放在同一个里面{{outlet}},因为contact.edit是嵌套在里面contact的。此外,您不能从contact.editto过渡,contact因为contact.edit它嵌套在contact.

但是,您可以做的是将它们放在同一位置,contact.index并且可以在它们之间进行转换。因此,您需要将模板替换为模板,并为.contact.editoutletcontactcontact.indexApp.ContactIndexRoute

第二个问题是当您转换到model诸如contactnow之类的路由时contact.index,您需要传递您希望它转换到的模型。所以过渡应该是这样的:

this.transitionTo('contact.index', contact);

还有一件事,我不确定你为什么使用:

if (post.didCreate) {
}

我认为这行不通... didCreate 是您需要收听的事件。看看这个答案

最后是工作小提琴:)

于 2013-02-21T10:24:40.277 回答