bui.history Class
[单页跟多页的公共历史记录,反映模块的加载关系, router.history 将废弃使用 ]
Item Index
Methods
check
-
name
检测有没有当前页面历史记录
Parameters:
-
name
String页面id,或者url,或者模块id
Example:
// var hasLoadLogin = bui.history.check("pages/login/login.html");
checkComponent
-
[id]
检测component标签是否已经加载
Parameters:
-
[id]
String optional组件的id
Example:
// var hasLoad = bui.history.checkComponent("tab1");
checkPage
-
[id]
检测模块有没有以 page 方式加载
Parameters:
-
[id]
String optional组件的模块名,或者id
Example:
// var hasLoad = bui.history.checkPage("pages/login/login");
empty
()
清空历史记录
Example:
// var hasLoadLogin = bui.history.empty();
get
-
[value]
-
[key]
获取所有历史记录
Parameters:
-
[value]
String optional通过模块名获取某个历史记录,或者历史记录
-
[key]
String optional默认:"name", 也可以传页面id
Returns:
option [返回数组]
Example:
方法:
var allHistory = bui.history.get();
方法2:
// 通过模块名获取某个历史记录
bui.history.get("pages/login/login")
方法3:
// 通过页面id获取某个历史记录
bui.history.get("buife172-aafb-0295-180b-6bc17fbd1cfb","id")
getComponent
-
id
-
[field]
获取编译后的组件实例
Parameters:
-
id
String获取编译后的组件实例,如果有return, 就能拿到该对象
-
[field]
String optional默认: exports 字段, 可以不传
Returns:
Example:
方法1: 获取编译后的实例
var instance = bui.history.getComponent("list");
getComponents
-
name
-
[field]
获取编译后的多个组件实例
Parameters:
-
name
String获取编译后的组件实例,如果有return, 就能拿到该对象
-
[field]
String optional默认: exports 字段, 可以不传
Returns:
Example:
方法1: 获取编译后的实例
// 返回数组
var instances = bui.history.getComponent("pages/list/index");
getCurrent
()
获取当前的历史记录信息,当前不一定是最后的历史记录
Example:
var currentHistory = bui.history.getCurrent();
getCurrentPrev
()
获取当前的的上一个历史记录信息
Example:
var currentPrevHistory = bui.history.getCurrentPrev();
getHash
()
Object
获取当前hash的值
Returns:
{pid:"",url:"",param:{}}
Example:
// var hash = bui.history.getHash();
getIndex
()
获取当前的历史记录在第几条
Example:
var index = bui.history.getIndex();
getLast
-
[field]
获取最后的历史记录
Parameters:
-
[field]
String optional返回最后一条记录的某个key值
Returns:
option 返回对象
Example:
方法:
var lastHistory = bui.history.getLast();
方法2: 1.6.x
var currentHistory = bui.history.getLast("exports");
getPage
-
id
-
[field]
获取插入页面的实例
Parameters:
-
id
Stringid 或者模块名, 不传则是最后一次打开的实例
-
[field]
String optional默认: exports 字段, 可以不传
Example:
方法:
var instance = bui.history.getPage("pages/list");
getPageDialog
-
id
在模块内部获取对话框的实例
Parameters:
-
id
String获取编译后的组件实例,如果有return, 就能拿到该对象
Example:
方法1: 获取编译后的实例
var instance = bui.history.getPageDialog(module.id);
instance.close();
getParams
-
[type]
综合的获取参数方法, 如果模块会被多种方式加载, 则应该这个方法 bui.history.getParams
Parameters:
-
[type]
String optional参数的类型, 如果不传则获取多种方式,依次获取, component, page, url, 也可以指定某种类型 page(弹窗加载) | component(局部加载的参数) | url(路由跳转的参数)
Example:
方法1: 如果不确定该模块会被哪种方式使用, 则可以使用这种方式获取. module.id 在loader.define(function(req,ext,module){ }) 的第三个参数
var params = bui.history.getParams(module.id);
方法2: 获取单页路由或者多页路由的跳转传参 bui.load({url:"",param:{}})
var params = bui.history.getParams("url");
方法3: 获取以bui.page({url:"",param:{}}) 加载的的参数, 通过以下方式获取
var pageParams = bui.history.getParams("page");
方法4: 获取以router.loadPart, loader.load , component标签 加载的的参数, 通过以下方式获取
var partParams = bui.history.getParams("component");
getParentComponent
()
获取父组件实例, 在第一层component获取到的是页面组件
Example:
方法1: var instance = bui.history.getParentComponent();
getParentParams
()
获取父组件实例, 在第一层component获取到的是页面组件
Example:
方法1: var instance = bui.history.getParentParams();
getPrev
-
[field]
获取上一页历史记录
Parameters:
-
[field]
String optional返回最后一条记录的某个key值
Returns:
option 返回对象
Example:
方法:
var lastHistory = bui.history.getPrev();
方法2: 1.6.x
var currentHistory = bui.history.getPrev("exports");
getUI
-
uid
需要在控件初始化的时候,传uid参数,才能获取得到。
Parameters:
-
uid
Stringuid,组件传了uid,才可以通过这个方法获取
Example:
示例:
var uiNumber = bui.history.getUI("num");
refresh
()
刷新页面
Example:
bui.history.refresh();
remove
-
[index]
删除指定的历史记录
Parameters:
-
[index]
Number | String optional删掉第几个历史记录,或者删掉哪个页面的历史记录
Example:
var removeHistory = bui.history.remove(1);
var removeHistory = bui.history.remove("pages/xxx");