You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
19 lines
608 B
19 lines
608 B
import { behavior } from './behavior'; |
|
export function observe(vantOptions, options) { |
|
const { watch } = 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; |
|
} |
|
}
|
|
|