Show:

bui.history Class

Module: Core

Available since 1.5.6

[单页跟多页的公共历史记录,反映模块的加载关系, router.history 将废弃使用 ]

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]
)

Defined in src/scripts/core/bui.history.js:820

Available since 1.6.0 20200415

检测模块有没有以 page 方式加载

Parameters:

  • [id] String optional

    组件的模块名,或者id

Example:

       //  var hasLoad = bui.history.checkPage("pages/login/login");
                                                

epmty

()

清空历史记录

Example:

       //  var hasLoadLogin = bui.history.epmty();
                                                

get

(
  • [value]
  • [key]
)
Array

获取所有历史记录

Parameters:

  • [value] String optional

    通过模块名获取某个历史记录,或者历史记录

  • [key] String optional

    默认:"name", 也可以传页面id

Returns:

Array:

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]
)
Object

获取编译后的组件实例

Parameters:

  • id String

    获取编译后的组件实例,如果有return, 就能拿到该对象

  • [field] String optional

    默认: exports 字段, 可以不传

Returns:

Object:

Example:

方法1: 获取编译后的实例

       var instance = bui.history.getComponent("list");
                                                

getComponents

(
  • name
  • [field]
)
Array

获取编译后的多个组件实例

Parameters:

  • name String

    获取编译后的组件实例,如果有return, 就能拿到该对象

  • [field] String optional

    默认: exports 字段, 可以不传

Returns:

Array:

Example:

方法1: 获取编译后的实例

       // 返回数组
                                                       var instances = bui.history.getComponent("pages/list/index");
                                                

getLast

(
  • [field]
)
Object

获取最后的历史记录

Parameters:

  • [field] String optional

    返回最后一条记录的某个key值

Returns:

Object:

option 返回对象

Example:

方法:

       var lastHistory = bui.history.getLast();
                                                
                                                       方法2: 1.6.x
                                                       var currentHistory = bui.history.getLast("exports");
                                                

getPage

(
  • id
  • [field]
)

获取插入页面的实例

Parameters:

  • id String

    id 或者模块名, 不传则是最后一次打开的实例

  • [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

()

Defined in src/scripts/core/bui.history.js:347

Available since 1.6.2

获取父组件实例, 在第一层component获取到的是页面组件

Example:

方法1: var instance = bui.history.getParentComponent();

getParentParams

()

Defined in src/scripts/core/bui.history.js:366

Available since 1.6.2

获取父组件实例, 在第一层component获取到的是页面组件

Example:

方法1: var instance = bui.history.getParentParams();

getPrev

(
  • [field]
)
Object

Defined in src/scripts/core/bui.history.js:88

Available since 1.6.0

获取上一页历史记录

Parameters:

  • [field] String optional

    返回最后一条记录的某个key值

Returns:

Object:

option 返回对象

Example:

方法:

       var lastHistory = bui.history.getPrev();
                                                
                                                       方法2: 1.6.x
                                                       var currentHistory = bui.history.getPrev("exports");
                                                

getUI

(
  • uid
)

Defined in src/scripts/core/bui.history.js:237

Available since 1.6.6

需要在控件初始化的时候,传uid参数,才能获取得到。

Parameters:

  • uid String

    uid,组件传了uid,才可以通过这个方法获取

Example:

示例:

       var uiNumber = bui.history.getUI("num");
                                                

refresh

()

刷新页面

Example:

       bui.history.refresh();