这是对我之前的问题的跟进。
我的Router
基本上看起来如下:
App.Router.map(function () {
this.resource('posts', function () {
this.resource('post', {
'path': '/:post_id'
}, function () {
this.route('edit');
this.resource('comments');
this.resource('trackbacks');
});
});
});
由于我希望 mypost
和post/edit
template 都呈现为相同{{outlet}}
的 ,因此我覆盖了PostEditRoute
for this (因此renderTemplate
which 负责处理此问题)。我还需要覆盖model
以使用PostRoute
's 模型:
App.PostEditRoute = Ember.Route.extend({
model: function() {
return this.modelFor('post');
},
deactivate: function() {
this.currentModel.get('transaction').rollback();
},
renderTemplate: function() {
this.render({
into: 'posts'
});
}
});
我的post/edit
模板包含一个取消链接,我想将其“重定向”回post
视图。
<script type="text/x-handlebars" data-template-name="post/edit">
{{view Em.TextField valueBinding="title"}}
{{view Em.TextArea valueBinding="description"}}
{{#linkTo post}}Cancel{{/linkTo}}
</script>
但这就是麻烦开始的地方:单击取消post
链接将在模板中显示一个空白区域。
我还尝试将参数传递给#linkTo
助手(#linkTo post this
);确实显示了post
模板,但Uncaught RangeError: Maximum call stack size exceeded
返回时会导致错误post/edit
。
post
我的问题:取消到时如何导航回post/edit
?