美文网首页
Vapor模板leaf的使用

Vapor模板leaf的使用

作者: HCong | 来源:发表于2017-08-22 11:04 被阅读45次
添加Leaf中间件
  1. Package.swift添加资源路径
.Package(url: "https://github.com/vapor/leaf-provider.git", majorVersion: 1)
  1. 在droplet.json文件声明
  "view" : "leaf"
  1. Config+Setup.swift文件中添加到Droplet
    /// Configure providers
    private func setupProviders() throws {
        try addProvider(FluentProvider.Provider.self)
        try addProvider(MySQLProvider.Provider.self)
        try addProvider(LeafProvider.Provider.self)
    }
  1. 创建Resources文件,文件夹下创建views文件夹保存模板文件
    list.png
Leaf的语法
  • leaf的标签有四种元素构成
    • # leaf模板标签的标识
    • name 字符串类型标签名
    • () 参数列表,可接受0个或多个参数
    • {} 标签功能执行体,可选,但是与必须参数列表用一个空格隔开
  • 实例
    • #()
    • #(variable)
    • #import("template")
    • #export("link") { <a href="#()"></a> }
    • #index(friends, "0")
    • #loop(friends, "friend") { <li>#(friend.name)</li> }
    • #raw() { <a href="#raw">Anything goes!@#$%^&*</a> }
 #import("footer")
    <body>
        <h1>Welcome #(name)</h1>
        <h2>#(description)</h2>
        #loop(users,"userName"){
            <li>#(userName)</li>
        }
    </body>
#import("head")
  • 模板的渲染
 static func indexUser(_request: Request) throws -> ResponseRepresentable {
        let user = try User.makeQuery().all()   // 表的字段或对应的值最好不要包含`.` DotKey
        for us in user {
            print(us.name)
        }
        let userName = user.map{$0.name}
        return try droplet.view.make("index", ["name" : "SunnyHC","description" : "Leaf","users" : userName])
    }
leaf.png

查看更多Leaf资料

相关文章

网友评论

      本文标题:Vapor模板leaf的使用

      本文链接:https://www.haomeiwen.com/subject/etthdxtx.html