【问题标题】:Is it possible to access session value in Leaf?是否可以在 Leaf 中访问会话值?
【发布时间】:2018-03-26 10:24:46
【问题描述】:

是否可以在 Leaf 中获取会话值?

正如this post 建议的那样,我应该能够使用#(request.session) 访问会话。

但是当我在会话中设置一个值时:

try request.assertSession().data.set("foo", "bar")

我什么也没用:

#(request.session.foo)

我也试过了:

#(foo)
#(session.foo)
#(session.data.foo)
#(request.session.data.foo)

它们都不起作用。

我错过了什么?我正在使用带有 Leaf Provider 1.1.0 的 Vapor 2.4.4。

【问题讨论】:

    标签: vapor leaf


    【解决方案1】:

    可以访问它 - 如果你将它传递给你的上下文。但是,为什么需要访问它?我不会说这是个坏主意……这只是一个真的个坏主意

    【讨论】:

    • 我同意。将数据传递到视图中有很多更简单的方法,我看不出为什么通过 Session 传递数据是个好主意。
    • 我正在尝试在我的视图中显示一些值,例如用户名。现在我每次制作视图时都通过节点传递它,我认为这不是一个好主意。我很想看到做这种事情的任何适当而优雅的方式。
    • ...当然,我在 5 分钟内使用谷歌搜索其他关键字时发现了 this。所以storage in request 是我应该放数据的地方,对吧?
    • 我这样做的方式是使用我调用的通用视图构建器而不是 Lead。这会注入所有常见的东西并保持清洁
    • 我应该想到这个...谢谢分享。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-01
    • 2014-08-18
    • 2020-02-17
    • 1970-01-01
    • 2015-07-22
    • 1970-01-01
    相关资源
    最近更新 更多