gpt4 book ai didi

meteor - 如何根据某些表达式更改 layoutTemplate?铁路由器

转载 作者:行者123 更新时间:2023-12-04 18:08:03 25 4
gpt4 key购买 nike

我的应用有多种布局以满足不同的需求,我想动态选择它。例如,取决于 GET 参数,或者用户是否登录。

我怎样才能做到这一点?

最佳答案

您实际上可以使用 this.router.layout() 动态更改 layoutTemplate从 before 钩子(Hook)(可能还有其他钩子(Hook))中。它有点隐藏,并且可能会更改,但这是我如何根据用户是否登录来更改 layoutTemplate :

Router.configure({
layoutTemplate: "defaultLayout",
before: function (pause) {
if(!Meteor.user()) {
// render the login template but keep the url in the browser the same
this.router.layout("loginLayout");
this.render('login');

// pause the rest of the before hooks and the action function
pause();
}else{
//Here we have to change the layoutTemplate back to the default
this.router.layout("defaultLayout");
}
}
});

如果您有多个 layoutTemplate,这可能会有点复杂,因为一旦路线不再暂停,它将保留您设置的新 layoutTemplate,除非您再次更改它。

关于meteor - 如何根据某些表达式更改 layoutTemplate?铁路由器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22036767/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com