code: function Off(event, method) {
        return function (target, key, descriptor) {
            key = hyphenate(key);
            var original = descriptor.value;
            descriptor.value = function offer() {
                var args = [];
                for (var _i = 0; _i < arguments.length; _i++) {
                    args[_i] = arguments[_i];
                }
                if (original.apply(this, args) !== false) {
                    if (method) {
                        if (typeof this[method] === 'function') {
                            this.$off(event || key, this[method]);
                        }
                        else {
                            throw new TypeError('must be a method name');
                        }
                    }
                    else if (event) {
                        this.$off(event || key);
                    }
                    else {
                        this.$off();
                    }
                }
            };
        };
    }
docs: decorator of $off
  @param event The name of the event
  @param method The name of the method