BUI

其它版本:

API for BUI 1.6.x

Show:

bui.page Class

Module: Core

Available since 1.5.6

页面加载器

用于在单页或者多页里面穿插一个新的页面, 比方登录.那就很方便的用来处理权限问题

预览地址: demo

控件预览

Constructor

bui.page

(
  • option
)

Defined in src/scripts/core/bui.page.js:8

Available since 1.5.6

Parameters:

  • option Object
    • url String

      [页面id]

    • [dialogid] [ 1.6.2新增 指定生成的dialog id, 便于 bui.history.getPageDialog(id);] String optional
    • [param] [传给 url的参数, url里面的模块需要使用 bui.history.getParams(module.id) 获取] Object optional
    • [script] [ 可以指定模块的脚本, 默认不需要写, 按模块的同名规范加载.] String optional
    • [appendTo] [ 打开的页面要加载到哪个容器下, 默认是".bui-page", 如果是 body, bui-router 等非单页里面的选择器, 则模块里面,不能使用 router.$, 应该使用 $, 包括里面用到的控件id, 之前是字符串, 现在是对象 $("#xxx"), 控件才能正常.] String optional
    • [autoload] [默认 true 自动执行 | false] Boolean optional
    • [syncHistory] [是否同步历史记录, 默认 false | true; 同步历史记录用户使用后退可以回到创建的页面] Boolean optional
    • [cache] [ 默认 true (只加载一次) | false (每次调用打开都执行一次)] Boolean optional
    • [iframe] [ 默认 false | true 打开外部地址] Boolean optional
    • [effect] [ 默认 "fadeInRight" 打开的动画, 具体查看 bui.toggle 的api] String optional
    • [close] [ 默认 false | true 需要右上角有关闭按钮] Boolean optional
    • [needRemove] [ 默认 false | true 点击右上角关闭按钮,是否移除对话框,默认不需要] Boolean optional
    • [openFirst] [ 默认 true 先打开动画以后再执行模块 | false 先执行模块再打开动画] Boolean optional
    • [closeFirst] [ 默认 false 如果模块有hide,执行模块的hide 跟关闭一起执行. | true 先执行关闭动画, 如果模块有hide,再执行模块的hide] Boolean optional
    • [beforeOpen] [ 打开前执行, return false 则不执行打开操作] Function optional
    • [opened] [ 每次打开后执行] Function optional
    • [beforeClose] [ 关闭前执行, return false 则不执行关闭操作] Function optional
    • [closed] [ 每次关闭后执行] Function optional
    • [beforeLoad] [ 加载前执行,只执行一次] Function optional
    • [onError] [ 找不到页面执行] Function optional
    • [loaded] [ 初始化后执行,只执行一次] Function optional

Example:

       方法1: 
                                           var uiPage = bui.page({
                                             url:"pages/login/login.html",
                                             param: {}
                                           })
                                           
                                       方法2: 
                                           var uiPage = bui.page({
                                             url:"pages/login/login.html",
                                             autoload: false
                                           })
                                           
                                           $("#id").click(function(){
                                               uiPage.open();
                                           })
                                
                                       注意: bui.page 加载的页面,不会自动计算main 的高度, 建议里面的页面采用新的 page 结构,会自动适配.
                                       <div class="bui-page bui-vertical-box">
                                           <header>
                                               <div class="bui-bar">
                                                   <div class="bui-bar-left"></div>
                                                   <div class="bui-bar-main">标题栏</div>
                                                   <div class="bui-bar-right"></div>
                                               </div>
                                           </header>
                                           <main>
                                               主要内容会自动减去 footer header 的高度.
                                           </main>
                                           <footer></footer>
                                       </div>
                                

Item Index

Methods

close

(
  • [callback] [关闭后执行]
)
chainable

关闭

Parameters:

  • [callback] [关闭后执行] Function optional

Example:

           // 关闭
                                                       uiPage.close();
                                            

compile

() chainable

重新编译执行, 默认打开第一次已经编译过了, 无需继续编译

Example:

           // 切换
                                                       uiPage.compile();
                                            

isOpen

() Boolean chainable

打开的状态

Returns:

Boolean:

Example:

           // 切换
                                                       var status = uiPage.isOpen();
                                            

open

(
  • [callback] [打开后执行]
)
chainable

打开

Parameters:

  • [callback] [打开后执行] Function optional

Example:

           // 打开
                                                       uiPage.open();
                                            

reload

(
  • [option] [跟 初始化一样的参数, 也可以单独传参数就好]
)
chainable

重新加载

Parameters:

  • [option] [跟 初始化一样的参数, 也可以单独传参数就好] Object optional

Example:

           // 重新加载
                                                       uiPage.reload();
                                                       
                                                       // 重新加载并传参
                                                       uiPage.reload({
                                                           param: {
                                                               keyword: "new word"
                                                           }
                                                       });
                                            

remove

(
  • [callback] [关闭后执行]
)
chainable

移除对话框

Parameters:

  • [callback] [关闭后执行] Function optional

Example:

           // 关闭
                                                       uiPage.remove();
                                            

toggle

(
  • [onOpen] [打开后执行]
  • [onClose] [关闭后执行]
)
chainable

切换展示, 打开就关闭,关闭就打开

Parameters:

  • [onOpen] [打开后执行] Function optional
  • [onClose] [关闭后执行] Function optional

Example:

           // 切换
                                                       uiPage.toggle();
                                                       
                                                       // 切换加回调
                                                       uiPage.toggle(function(){
                                                           // 打开执行
                                                       },function(){
                                                           // 关闭执行
                                                       });