1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 | export default function(instance, callback, speed = 300, once = false) {
|
10 | if (!instance || !callback) throw new Error('instance & callback is required');
|
11 | let called = false;
|
12 | const afterLeaveCallback = function() {
|
13 | if (called) return;
|
14 | called = true;
|
15 | if (callback) {
|
16 | callback.apply(null, arguments);
|
17 | }
|
18 | };
|
19 | if (once) {
|
20 | instance.$once('after-leave', afterLeaveCallback);
|
21 | } else {
|
22 | instance.$on('after-leave', afterLeaveCallback);
|
23 | }
|
24 | setTimeout(() => {
|
25 | afterLeaveCallback();
|
26 | }, speed + 100);
|
27 | };
|