import { behavior } from './behavior'; import { observeProps } from './props'; export function observe(vantOptions, options) { const { watch, computed } = vantOptions; options.behaviors.push(behavior); if (watch) { const props = options.properties || {}; Object.keys(watch).forEach(key => { if (key in props) { let prop = props[key]; if (prop === null || !('type' in prop)) { prop = { type: prop }; } prop.observer = watch[key]; props[key] = prop; } }); options.properties = props; } if (computed) { options.methods = options.methods || {}; options.methods.$options = () => vantOptions; if (options.properties) { observeProps(options.properties); } } }