Show:

bui.extend Class

Module: Core

Available since 1.5.3

插件扩展, 创建的插件会有统一的方法及事件参数, 可以在插件内部使用.

Constructor

bui.extend

(
  • option
)

Defined in src/scripts/core/bui.extend.js:10

Available since 1.5.3

Parameters:

  • option Object

    注册的参数

    • name String

      插件名称

    • config Object

      插件参数

    • callback Function

      插件的回调

Example:

   bui.extend({
                                           name:"accordion",
                                           config: {
                                               id: "",
                                               handle: "dt",
                                               target: "dd",
                                               targetHeight: 0,
                                               single: false,
                                               autoinit: true,
                                               callback: null
                                           },
                                           callback:function(option){
                                               // 获取父级的对象,该对象有以下公共方法
                                               var that = this;
                                    
                                               that.widget
                                               that.destroy;
                                               that.on;
                                               that.off;
                                               that.trigger;
                                               
                                               // 控件的初始化
                                               function inited(){
                                    
                                                   // 链式调用
                                                   return that
                                               }
                                               // 抛出对应的方法, 不能为以下方法或属性: 
                                               init, option, config, widgets, widget, reinit, destroy, handle, on, off, trigger, initStatus, reInitStatus,  emitter, prefix, showLog
                                    
                                               that.inited = inited;
                                               
                                               // 执行一次初始化
                                               inited();
                                               
                                               // 返回才能拿到对应的方法
                                               return that;
                                           }
                                       })
                                    
                                       var uiaccordion = bui.accordion({
                                           id: ""
                                       });
                                    

Item Index

Events

Methods

destroy

(
  • [callback] [ 销毁后做什么]
)

插件的公共方法,销毁控件.

Parameters:

  • [callback] [ 销毁后做什么] Function optional

Example:

       插件内部使用: 
                                                       // 插件内部要销毁的东西, 比方 定时器,事件绑定, 外部是不知道的, 所以要内部处理
                                                       that.beforeDestroy = function(){
                                                
                                                       }
                                                
                                                       实例的销毁:
                                                       var accordion = bui.accordion();
                                                       // 调用这个方法前, 会先执行 beforeDestroy. 
                                                       accordion.destroy();
                                                

init

()

Defined in src/scripts/core/bui.extend.js:127

Available since 1.5.3

[控件的初始化]

Example:

       //初始化生命周期,默认已经初始化1次
                                                       var accordion = bui.accordion();
                                                
                                                       // 执行多一次初始化
                                                       accordion.init();
                                                

option

(
  • [key] [ 获取依赖的时候]
  • [value] [ 获取依赖的时候]
)

外部统一的修改获取参数, 修改this.config 的参数, 并且重新调用 init 方法.

Parameters:

  • [key] [ 获取依赖的时候] String | Object optional
  • [value] [ 获取依赖的时候] String optional

Example:

       比方初始化了插件: 
                                                       var accordion = bui.accordion();
                                                
                                                       // 实例获取参数
                                                       accordion.option("id");
                                                
                                                       // 修改一个参数
                                                       accordion.option("height",500);
                                                
                                                       // 修改多个参数
                                                       accordion.option({"height":500,handle:".bui-btn-test"});
                                                

prefix

(
  • [str] [ 去除前缀以后的值]
)
String

处理样式的前缀.

Parameters:

  • [str] [ 去除前缀以后的值] String optional

Returns:

String:

[ 出现问题的位置 ]

Example:

       var className = that.prefix("accordion");
                                                
                                                       // bui-accordion
                                                

reinit

()

插件的公共方法,重新初始化.

Example:

       实例:
                                                       var accordion = bui.accordion();
                                                       // 重新初始化
                                                       accordion.reinit();
                                                

showLog

(
  • [str] [ 日志说明, try{}catche(e){ that.showLog(e) }]
  • [where] [ 出现问题的位置]
)

插件内部统一的抛出日志方法.

Parameters:

  • [str] [ 日志说明, try{}catche(e){ that.showLog(e) }] String | Object optional
  • [where] [ 出现问题的位置] String optional

Example:

       // 抛出异常, 在bui.accordion init 方法
                                                       that.showLog("初始化错误","bui.accordion init")
                                                
                                                       // 支持对象
                                                       try{}catche(e){ that.showLog(e) }
                                                

widget

(
  • [name] [ 获取依赖的时候]
)

实例的公共方法, 获取插件里面的实例,

Parameters:

  • [name] [ 获取依赖的时候] String optional

Example:

       插件内部使用 that.widgets.loading = bui.loading(); 初始化, 实例才能通过widget方法获取得到内部依赖.
                                                
                                                       比方初始化了插件: 
                                                       var accordion = bui.accordion();
                                                
                                                       // 实例获取依赖
                                                       accordion.widget("loading");
                                                

Events

off

为控件取消绑定事件

Event Payload:

  • [type] [ 事件类型: "show"(显示目标时) | "hide"(隐藏目标时)] String optional
  • [callback] [ 绑定的事件, this 为当前点击的菜单] Function optional

Example:

       that.off("show");
                                                

on

为控件绑定事件

Event Payload:

  • [type] [ 事件类型: "show"(显示目标时) | "hide"(隐藏目标时)] String optional
  • [callback] [ 绑定的事件, this 为当前点击的菜单] Function optional

Example:

       that.on("show",function () {
                                                           // 点击的菜单
                                                           console.log(this);
                                                       });
                                                

trigger

触发自定义事件

Event Payload:

  • [type] [ 自定义事件名称] String optional
  • [arguments] [ 需要传给自定义事件的参数,可以有多个] String | Object | Number optional

Example:

       $("#id").click(function (e) {
                                                       that.trigger("show",e);
                                                       })