前端 help 助手函式

曹阿宇發表於2020-04-16

buffalo助手函式

t(): 翻譯函式

locales目錄下翻譯檔案中定義:

-id : create
    translation : "建立"
模版中使用 : t("create")

form(): 前臺生成表單函式,詳細

form({action:"",method:"",var:"f"}) //自動生成csrf驗證隱藏表單,var預設為f 代表該表單物件名
f.InputTag({name:"",value:"",class:"",type:""}) //生成Input表單,樣式屬性可以自定義
f.SelectTag({name:"",option{"a":1,"b":2},value:""}) //生成Select表單,option裡為select下拉選項和對應的值,value為設定預設選中項的值
f.TextArea({name:"",value:"",row:10}) //生成text文字框
f.CheckboxTag({name: "IsPublic",label:"",checked:""}) //生成核取方塊
f.DateTimeTag({"name": "ExpiresAt", "value": date}) //生成datetime-local框
f.HiddenTag({"name":""}) //生成隱藏表單框
f.Label("") //生成label標籤
f.RadioButtonTag({name: "MyDrink",label:"Water"}) //生成單選框 
eg: <label>
  <input class=" form-control" name="MyDrink" type="radio" checked /> Water
</label>

form_for(): 生成一個繫結模型的表單,詳細

form_for({model_name,actin:"",method:"",var:"f"})
標籤內的引數為繫結模型的結構體的屬性
eg: model_name{
    ExpiresAt time.Time
}
f.DateTimeTag("ExpiresAt") // 生成datetime-local框,自動填充model_name的name,value

paginator() : 分頁函式

後端pagination變數傳遞
q := tx.PaginateFromParams(c.Params())
c.Set("paginator", q.Paginator)

paginator(pagination)

生成如下:
<ul class=" pagination">
   <li class="disabled"><span>«</span></li>
   <li class="active"><a href="/movements?page=1">1</a></li>
   <li><a href="/movements?page=2">2</a></li>
   <li><a href="/movements?page=3">3</a></li>
   <li><a href="/movements?page=4">4</a></li>
   <li><a href="/movements?page=5">5</a></li>
   <li class="disabled"><a>...</a></li>
   <li><a href="/movements?page=43">43</a></li>
   <li><a href="/movements?page=2">»</a></li>
</ul>

如果你正在使用框架或者正在學習,不妨加入下方的buffalo框架交流群,群內有buffalo官方的視訊及中文文件,一起分享討論技術問題,不僅限於buffalo,go

Buffalo

本作品採用《CC 協議》,轉載必須註明作者和本文連結

曹阿宇

相關文章