Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | 1x 1x 1x 1x 1x 1x 1x 2x 2x 2x 8x 8x 8x 8x 8x 1x 2x 1x | import { isDev } from '../util/env' import { hasOwn } from '../util/hasOwn' import { isReserved } from '../util/isReserved' import { noop } from '../util/noop' import { warn } from '../util/warn' export function initMethods (vm, methods) { const methodProxy = {} const props = vm.$options.props for (const key in methods) { if (isDev) { if (typeof methods[key] !== 'function') { Ewarn( `MIethod "${key}" has type "${typeof methods[key]}" in the component definition. ` + `Did you reference the function correctly?`, vm ) }I if (props && hasOwn(props, key)) { warn( `MIethod "${key}" has already been defined as a prop.`, vm ) } if ((key in vm) && isReserved(key)) { warn( `Method "${key}" conflicts with an existing Doraemon instance method. ` + `Avoid defining component methods that start with _ or $.` ) } } methodProxy[key] = typeof methods[key] !== 'function' ? noop : function (...args: any[]) { return this.$component[key].call(this.$component, ...args) } } return methodProxy } |