UNPKG

1.13 kBJavaScriptView Raw
1'use strict';
2
3exports.__esModule = true;
4
5exports.default = function (instance, callback) {
6 var speed = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 300;
7 var once = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
8
9 if (!instance || !callback) throw new Error('instance & callback is required');
10 var called = false;
11 var afterLeaveCallback = function afterLeaveCallback() {
12 if (called) return;
13 called = true;
14 if (callback) {
15 callback.apply(null, arguments);
16 }
17 };
18 if (once) {
19 instance.$once('after-leave', afterLeaveCallback);
20 } else {
21 instance.$on('after-leave', afterLeaveCallback);
22 }
23 setTimeout(function () {
24 afterLeaveCallback();
25 }, speed + 100);
26};
27
28; /**
29 * Bind after-leave event for vue instance. Make sure after-leave is called in any browsers.
30 *
31 * @param {Vue} instance Vue instance.
32 * @param {Function} callback callback of after-leave event
33 * @param {Number} speed the speed of transition, default value is 300ms
34 * @param {Boolean} once weather bind after-leave once. default value is false.
35 */
\No newline at end of file