本文目录

插件 jQuery.tiny pubsub 中文 API 文档

🌙
手机阅读
本文目录结构

插件 jQuery.tiny pubsub 中文 API 文档 https://github.com/cowboy/jquery-tiny-pubsub

一个非常非常非常小的 jQuery pub / sub 实现。

例子

<script src="jquery.js"></script>
<script src="dist/tiny-pubsub.min.js"></script>
<script>
// Creates a "named" logging function.
function createLogger(name) {
  return function(_, a, b) {
    // Skip the first argument (event object) but log the name and other args.
    console.log(name, a, b);
  };
}

// Subscribe to the "foo" topic (bind to the "foo" event, no namespace).
$.subscribe('foo', createLogger('foo'));
// Subscribe to the "foo.bar" topic (bind to the "foo" event, "bar" namespace).
$.subscribe('foo.bar', createLogger('foo.bar'));
// Subscribe to the "foo.baz" topic (bind to the "foo" event, "baz" namespace).
$.subscribe('foo.baz', createLogger('foo.baz'));

// Publish arbitrary values.
$.publish('foo', [1, 2]);
// logs:
// foo 1 2
// foo.bar 1 2
// foo.baz 1 2

$.publish('foo.bar', [3, 4]);
// logs:
// foo.bar 3 4

$.publish('foo.baz', [5, 6]);
// logs:
// foo.baz 5 6

$.unsubscribe('foo.bar');
$.publish('foo', [7, 8]);
// logs:
// foo 7 8
// foo.baz 7 8
</script>

文档

注意:忽略传递给订阅回调的第一个参数(jQuery 事件对象)。

另一个注意事项:以前的版本(v0.4 +)是为了尝试删除第一个参数并创建更具未来性的 API 而编写的,但不幸的是,这导致了更不优雅,更大和更慢的代码。这个插件的重点是 TINY,用于只有尺寸(不是性能或可用性)是主要关注点(推文,代码高尔夫等)的情况。**

我经常看到关于 jQuery 的事件系统如何具有不必要的开销的评论,这使得它无法用作 Pub / Sub 实现的核心。jQuery 事件系统是经过验证的,它的架构既快速又健壮,而且这个插件的绝大多数用户都不应该遇到任何类型的性能问题。

因为这个插件的 $.subscribe,$.unsubscribe 和 $.publish 方法都使用 jQuery 的。对() ,.off()和。trigger()方法内部,这些方法完整签名提供给您。

您可以使用命名空间来更好地控制取消订阅和发布。

只需使用这个方便的术语指南(jQuery 事件术语→Pub / Sub term),一切都应该有意义:

  • 在。.. 订阅
  • 关闭→取消订阅
  • 触发→发布
  • 类型→主题

此外,如果您需要它,这些方法与 jQuery.proxy()方法完全兼容,以防您不仅希望更多地控制订阅回调绑定到哪个上下文,而是希望能够非常轻松地取消订阅回调参考。

关于性能:如果在某些时候,您的应用程序开始处理大量性能问题开始出现的消息,您可以随时使用相同的 API 编写替换的“jQuery Not-So-Tiny Pub / Sub”插件,并将其放入这个插件的替代品。但请记住,您还需要添加上述功能。

AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

于2021年离开前端领域,目前重心放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>

于2021年离开前端领域,目前从事区块链方面工作了