在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