如您所料,顶级值(例如 your Site.items
)在应用程序启动时计算一次。如果您希望在每次页面加载时计算它,则需要在接收Context<Action>
. [1]
例如,您可以执行以下操作:
let getItems() =
seq {
for i in borkData.parseData.db.ONEPOST do
yield [i.Title; i.Link; i.Poslodavac; i.MjestoRada; i.RokZaPrijavu]
}
let JobsPage =
Skin.WithTemplate "Jobs" <| fun ctx -> // this is the function that gets called for every page
let items = getItems()
[
for i in items ->
Div [Class "job"] -<
[
A [Class "title"] -< [HRef i.[1]] -< [ Text i.[0]]
P [Class "posted top"] -< [ Text i.[3] ]
P [Class "employer"] -< [ Text i.[2] ]
]
]
在这里,因为getItems
是一个函数,所以每次你用let items = getItems()
.
Sitelet.Infer
[1]如果您使用它,您也可以在传递给 的函数中执行此操作。Content
如果您想要返回取决于,这将很有用items
,例如,如果您想要使用不同的模板取决于items
.