此代码效果很好
{
action: function() {
this.render('userprofile');
},
onBeforeAction: function() {
this.redirect('/mypage');
}
});
但没有这样的
{
action: function() {
this.render('userprofile');
},
onBeforeAction: function() {
if (Meteor.user().profile.uname == this.params.uname) {
this.redirect('/mypage');
this.stop();
} else {
this.next()
}
}
});
和
if (Meteor.user().profile.uname == this.params.uname) {
this.redirect('/mypage')
} else {
this.next()
}
如果输入错误的uname
此条件
} else {
this.next()
}
如果是真的
if (Meteor.user().profile.uname == this.params.uname) {
this.redirect('/mypage');
this.stop();
}
页面仅将链接从 / StevePi (正确的uname)更改为 / mypage 但不会渲染
我尝试使用Router.go()
和其他方法,但它没有帮助:(
答案 0 :(得分:0)
我意识到情况就是这样(也许会有所帮助):
Router.route('/:uname', function() {
if (Meteor.user().profile.uname == this.params.uname) {
window.location.href = "/mypage"; <---------------------------------
} else {
this.render('userprofile')
}
});