同步操作将从 腾讯开源/vConsole 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
插件的所有事件(event)都是可选的,不强制绑定。但一些特性(比如添加 tool 按钮)依赖于指定的事件,所以若要实现那些特性,就必须绑定指定的事件。
每个事件都会有一个 callback 回调函数,当事件被触发时,就会执行 callback。一些 callback 可能会带有参数。
当插件开始初始化时触发。这个事件触发时,代表 vConsole 开始安装此插件,开发者可以在此时初始化一些配置。 这个事件只会触发一次。
注意,此时插件的 DOM 仍未就绪,插件还未被渲染到页面中。
myPlugin.on('init', function() {
// 在这里可以初始化一些自用的配置
this.list = []; // `this` == `myPlugin`
});
当 vConsole 尝试为此插件渲染新 tab 时触发。这个事件只会触发一次。
绑定此事件后,vConsole 会认为此插件需要创建新 tab,并会将 callback 中获取的 HTML 用于渲染 tab。因此,只要绑定了此事件,新 tab 肯定会被渲染到页面中,无论 callback 传入的 HTML 是否为空。如果不需要添加新 tab,请不要绑定此事件。
html
可以为 HTML 字符串,或者 HTMLElement
对象(或支持 appendTo()
方法的对象,如 jQuery 对象)。myPlugin.on('renderTab', function(callback) {
var html = '<div>Hello</div>';
callback(html);
});
当 vConsole 尝试为此插件添加新的 topbar 按钮时触发。这个事件只会触发一次。
array
数组。按钮的参数为:
Property | |||
---|---|---|---|
name | string | 必填 | 按钮展示的名字。 |
data | object | 选填 | 按钮的自定义数据,key-value 格式。 |
className | string | 选填 | 按钮的 className。 |
actived | boolean | optional | 按钮是否处在选中样式。 |
onClick | (event, data) => boolean | 必填 | 点击按钮时的回调函数。触发回调后,除非回调函数返回 false ,此按钮将自动变为选中的样式。 |
var type;
myPlugin.on('addTopBar', function(callback) {
var btnList = [];
btnList.push({
name: 'Apple',
className: '',
data: {type: 'apple'},
onClick: function(event, data) {
if (type != data.type) {
// `this` 指向当前按钮
type = data.type;
} else {
return false;
}
}
});
btnList.push({
name: 'Orange',
className: '',
data: {type: 'orange'},
onClick: function(event, data) {
type = data.type;
}
}
});
callback(btnList);
});
当 vConsole 尝试为此插件添加新的 tool 按钮时触发。这个事件只会触发一次。
array
数组。tool 按钮的参数为:
Property | |||
---|---|---|---|
name | string | 必填 | 按钮展示的名字。 |
data | object | 选填 | 按钮的自定义数据,key-value 格式。 |
global | boolean | 选填,默认 false
|
false 时,当切换到别的 tab 后,按钮就会被隐藏;true 时,按钮变成全局可见。 |
onClick | (event, data) => void | 必填 | 点击按钮时的回调函数。 |
myPlugin.on('addTool', function(callback) {
var toolList = [];
toolList.push({
name: 'Reload',
global: false,
onClick: function(event, data) {
location.reload();
}
});
callback(toolList);
});
当插件初始化结束后触发。这个事件只会触发一次。此时插件已经成功安装并已渲染到页面。
myPlugin.on('ready', function() {
// do something...
});
当插件即将卸载前触发。这个事件只会触发一次。
需要注意的是,如果在 vConsole ready 之前就卸载插件,那么此事件会在 init
之前就被调用。
myPlugin.on('remove', function() {
// do something...
});
当插件的 tab 被显示时触发。只有绑定了 renderTab
事件的插件才会收到此事件。
myPlugin.on('show', function() {
// do something
});
当插件的 tab 被隐藏时触发。只有绑定了 renderTab
事件的插件才会收到此事件。
myPlugin.on('hide', function() {
// do something
});
当 vConsole 被显示时触发。
myPlugin.on('showConsole', function() {
// do something
});
当 vConsole 被隐藏时触发。
myPlugin.on('hideConsole', function() {
// do something
});
当 vConsole.setOption()
被调用时触发
myPlugin.on('updateOption', function() {
// do something
});
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。