gf框架之分页模块(一) - 基本介绍

John · · 1015 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

文章来源:http://gf.johng.cn/597431

分页管理由gpage包实现,gpage提供了强大的动态分页及静态分页功能,并且为开发者自定义分页样式提供了极高的灵活度。

使用方式:

import "gitee.com/johng/gf/g/util/gpage"

方法列表:godoc.org/github.com/johng-cn/gf/g/util/gpage

func New(TotalSize, perPage int, CurrentPage interface{}, url string, route ...string) *Page
func (page *Page) EnableAjax(actionName string)
func (page *Page) FirstPage(styles ...string) string
func (page *Page) GetContent(mode int) string
func (page *Page) GetLink(url, text, title, style string) string
func (page *Page) GetUrl(pageNo int) string
func (page *Page) LastPage(styles ...string) string
func (page *Page) NextPage(styles ...string) string
func (page *Page) PageBar(styles ...string) string
func (page *Page) PrevPage(styles ...string) string
func (page *Page) SelectBar() string

我们这里需要着重说明的是三个方法,NewGetContentEnableAjax

创建分页对象

New方法中,前面三个参数很简单,见名知意。

第四个参数url string是当前请求页面的URL,可以是完整的URL地址,如:http://xxx.xxx.xxx/list?type=10#anchor;也可以是URI绝对路径地址,如:/list?type=10#anchor;该参数是用于分页管理器计算分页URL地址的基础。

第五个参数route...string是一个可选参数,表示当前请求页面的路由匹配规则(如:/user/list/:page,或者/order/list/*order-page),当使用静态分页时,该参数为必传项,以便分页管理器能够智能替换静态URI中对应的分页参数。

具体使用示例请查看后续章节。

预定义分页样式

方法GetContent提供了预定义的常见的分页样式,以便于开发者快速使用。当预定义的样式无法满足开发者需求时,开发者可以使用公开的方法来自定义分页样式(或者进行方法重载来实现自定义),也可以使用正则替换指定预定义的分页样式中的部分内容来实现自定义。

具体使用示例请查看后续章节。

使用Ajax分页功能

方法EnableAjax给定一个Ajax方法名,用于实现Ajax分页,但是需要注意的是,该Ajax方法名称需要前后端约定统一,并且该Ajax方法只有一个URL参数。以下是一个Ajax方法的客户端定义示例:

function DoAjax(url) {
    // 这里读取URL的内容并根据业务逻辑进行内容展示
}

具体使用示例请查看后续章节。


有疑问加站长微信联系(非本文作者)

本文来自:Segmentfault

感谢作者:John

查看原文:gf框架之分页模块(一) - 基本介绍

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1015 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传