美文网首页
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