gpt4 book ai didi

javascript - 有什么方法可以在 iron-router 中渲染没有布局的模板吗?

转载 作者:行者123 更新时间:2023-11-29 19:41:02 26 4
gpt4 key购买 nike

看看我的 Controller 代码(coffeescript):

class @BasicController extends RouterController
layoutTemplate: "siteLayout"
onBeforeAction: (pause)->
unless Meteor.user()
@render("loginPage") #----------------->here
pause()

在这种情况下,“loginPage”被渲染到 siteLayout 模板的 yield 区域。但我需要它在没有布局的情况下呈现。如何实现?

最佳答案

告诉 Iron Router 使用(或不使用)哪个布局的位置在 layoutTemplate 中。参数,不在onBeforeAction里面功能。诀窍是制作layoutTemplate进入一个自执行的匿名函数:

class @BasicController extends RouteController
layoutTemplate: (->
unless Meteor.user()
return null
else
return "siteLayout"
)()

onBeforeAction: (pause) ->
unless Meteor.user()
@render("loginPage")
pause()

在此示例中,如果用户未登录 layoutTemplate设置为 null Iron Router 直接渲染到 body 中。否则,siteLayout用来。重要的部分是括号,尤其是最后的 ()导致函数被评估并返回一个字符串或null ,而不是函数定义本身。

请注意,您可以为未登录的用户创建一个替代布局,假设它有一个最小的导航栏而不是一个完整的菜单,并把它而不是 null在第四行。

关于javascript - 有什么方法可以在 iron-router 中渲染没有布局的模板吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23024267/

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