index.js
857 字节
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
import { behavior } from './behavior';
import { observeProps } from './props';
export function observe(vantOptions, options) {
var watch = vantOptions.watch,
computed = vantOptions.computed;
if (watch) {
var props = options.properties || {};
Object.keys(watch).forEach(function (key) {
if (key in props) {
var 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.behaviors.push(behavior);
options.methods = options.methods || {};
options.methods.$options = function () {
return vantOptions;
};
if (options.properties) {
observeProps(options.properties);
}
}
}