在Vapor中,特别是在自定义Leaf标签的类中,如何检索存储在上下文中的值?如何从Vapor中的上下文中检索值?
我试图实现一个标记,它需要一个字符串和一个路径,并呈现一个链接,除非路径是当前页面,因此,例如,#navElement("About Us", "/about")
将在每个页面上产生一个链接到该网站的关于页面除了关于页面本身。在该页面上,它应该显示没有链接的文本。
我不想在每次我用它时的电流路径传递到标签,所以我存储请求的路径的背景下,大致是这样的(略检查):
drop.get(":page"){ request in
return try drop.view.make(thePage, ["path": request.uri.path])
}
我可以在模板中使用#(path)
并查看我期望的路径。
我的自定义标记来源于Tag
,它的run
方法接收上下文作为参数,并且我可以在调试器中看到存储的值 - 但是如何获取它? Context
类中的get
方法似乎是这样做的,因此我无法使用它。有一条评论指出要完成下标,并且我认为这最终将成为从上下文中提取数值的方式,但同时,还有什么方法可以检索它们吗?
谢谢,但我试图避免每次使用标签时重复该说法,并且由于我已经在'run'方法中使用了上下文,所以我希望能够从那里提取路径。 – MacAvon
请参阅更新与解决方法 – tobygriffin
感谢您发现此问题。看起来像一个奇怪的决定,当他们将上下文传递给'run'时,但我不明白为什么。建议的解决方法为我做了诀窍。 – MacAvon