この記事では、名前空間イベント リスナー nsevent について詳しく説明します (コード例)。必要な方は参考にしていただければ幸いです。
このモジュールの主な理由は、WeChat 開発中の 2 つのページ間のステータスのやり取りを監視することです。
たとえば、ページ A とページ B には 2 つのお気に入りがあり、ページ B には同じお気に入りがあります。 . item、同じイベントをリッスンします
// 收藏事件改变 nsevent.on('collectChange', () => { // 刷新列表数据 })
次に、pageA ページでcollect(collection)イベントを操作すると、独自のページのcollectChangeコールバックがトリガーされます。このとき、nseventが役に立ちます。 pageA で次のように記述します
// 收藏事件改变 nsevent.on('collectChange', () => { // 刷新列表数据 }, 'pageA')
pageA のイベントが pageB でトリガーされた場合、自身のページのコールバックはトリガーされません。pageA のcollectChange イベントをトリガーすることもできます。
// 触发collectChange事件 NSEvent.emit('collectChange', params, { ns: ['pageA'] });
インストールと使用
// 触发collectChange事件 NSEvent.emit('collectChange', params, { ns: ['pageA', 'pageB'] });
npm i nsevent --save
const nsevent = require('nsevent');
on(eventName, fn, namespace)
パラメータ
説明 | ||
---|---|---|
リスニング イベント名 | #fn | |
コールバック関数 | namespace | |
Namespace |
// 浏览器 <script src="dist/nsevent.umd.js"></script> ログイン後にコピー |
パラメータ
説明 | ||
---|---|---|
リスニング イベント名 | #fn | |
コールバック関数 | NSEvent.on('add', (a, b) => { console.log(a, b); }); NSEvent.on('add', (a, b) => { console.log(a, b, 'ns'); }, 'ns'); // 1, 2 // 1, 2, 'ns' NSEvent.emit('add', a, b); ログイン後にコピー |
#パラメータ
##必須##イベント名 | ||
---|---|---|
##arg[1,2,3...] | No | 渡される値コールバック関数へ |
#object | No | {最後に渡されたオブジェクト、ns: ['ns'] } 名前空間を指定できます。イベントをトリガーします |
NSEvent.once('add', (a, b) => { console.log(a, b); }); NSEvent.emit('add', 1, 2); // 1, 2 NSEvent.emit('add', 1, 2); // nothing ログイン後にコピー |
off(eventName, [string|function|array]) |
必須
説明
eventName |
# は | リスニング イベント名|||
---|---|---|---|---|
##string | function | 配列
No |
||
##文字列 | バインドを解除する名前空間を指定します | |||
#関数 | バインドを解除する関数を指定してください |
|||
##array | 配列を通じて名前を指定します スペースまたは関数のバインド解除 | |||
NSEvent.on('fire', () => { console.log('fire ns'); }, 'ns'); NSEvent.on('fire', () => { console.log('fire ns2'); }, 'ns'); NSEvent.on('fire', () => { console.log('fire'); }); NSEvent.emit('fire'); // fire ns, fire ns2, fire console.log("======"); NSEvent.emit('fire', 1, 2, { ns: [] }); // nothing NSEvent.emit('fire', 1, 2, { ns: ['ns'] }); // fire ns, fire ns2 ログイン後にコピー |
以上が名前空間イベント リスナー nsevent の詳細な紹介 (コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。