我一直在尝试使用带有Vapor 3的模板引擎Leaf渲染计算的属性,但是到目前为止还没有运气。如果存储相同的属性,则一切正常。如果我进行了计算,网页上将不会显示任何内容。我知道这种解决方案无法正常工作的原因,但我想知道是否有任何方法可以使它正常工作。
元素渲染代码:
struct SocialLinkContext: Encodable, CSSStyleable {
let hyperlinkURI: String
let classes: [String]
//let styleClasses: String
init(hyperlinkURI: String, classes: [String]) {
self.hyperlinkURI = hyperlinkURI
self.classes = classes
//self.styleClasses = classes.joined(separator: " ")
}
//Seems not to be supported by Leaf
var styleClasses: String {
return self.classes.joined(separator: " ")
}
}
Run Code Online (Sandbox Code Playgroud)
该部分main_page.leaf文件:
...
<div class="row banner">
<div class="banner-text">
<h1 class="responsive-headline">Hello, world!</h1>
<hr />
</div>
#embed("social_links")
</div>
...
Run Code Online (Sandbox Code Playgroud)
该social_links.leaf文件:
<ul class="social">
#for(socialContext in socialLinks) {
<li> …Run Code Online (Sandbox Code Playgroud)