这是我的应用程序结构。 http://jsfiddle.net/cc7fC/
我正在尝试加载“新”,“联系”和& “contact.edit”进入同一个{{outlet}}。完成编辑后点击保存。在手动单击联系人之前,视图不会刷新。
...
submit: function(post) {
post.get('store').commit();
if (post.didCreate) {
//debugger;
return this.transitionTo('contact');
}
...
编辑:修正错别字&格式
答案 0 :(得分:3)
这里有几个问题。
您不能将contact
和contact.edit
放在同一{{outlet}}
中,因为contact.edit
嵌套在contact
内。此外,您无法从contact.edit
过渡到contact
,因为contact.edit
嵌套在contact
内。
但是,您可以将contact.index
和contact.edit
放在同一outlet
中,并且可以在它们之间进行转换。因此,您需要将contact
模板替换为contact.index
模板,并定义App.ContactIndexRoute
的路由行为。
第二个问题是当您转换到model
路由,例如contact
现在为contact.index
时,您需要传递要转换到的模型。所以过渡应该是这样的:
this.transitionTo('contact.index', contact);
还有一件事,我不确定你使用的原因:
if (post.didCreate) {
}
我认为这不起作用... didCreate是一个你需要倾听的事件。 查看this answer。
最后是working fiddle:)