|
|
@ -998,11 +998,21 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons |
|
|
|
if (/\*\*$|\*$/.test(exp)) { |
|
|
|
if (/\*\*$|\*$/.test(exp)) { |
|
|
|
throw new Error('not support'); |
|
|
|
throw new Error('not support'); |
|
|
|
} |
|
|
|
} |
|
|
|
//其他含有*的情况,如*.a,*.*.a,a.*.a.*
|
|
|
|
//其他含有*的情况,如*.a,*.*.a,a.*.a
|
|
|
|
if (/\*/.test(exp)) { |
|
|
|
if (/\*/.test(exp)) { |
|
|
|
|
|
|
|
var currentModel = model; |
|
|
|
|
|
|
|
//先获取到能获取到的对象
|
|
|
|
|
|
|
|
var paths = exp.split("."); |
|
|
|
|
|
|
|
for (var _i = 0, len = paths.length; _i < len; _i++) { |
|
|
|
|
|
|
|
if (paths[_i] === "*") { |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
currentModel = model[paths[_i]]; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
exp = exp.substr(exp.indexOf("*")); |
|
|
|
//补全路径
|
|
|
|
//补全路径
|
|
|
|
var parent = model.__ob__.parent, |
|
|
|
var parent = currentModel.__ob__.parent, |
|
|
|
root = model.__ob__; |
|
|
|
root = currentModel.__ob__; |
|
|
|
while (parent) { |
|
|
|
while (parent) { |
|
|
|
exp = '*.' + exp; |
|
|
|
exp = '*.' + exp; |
|
|
|
root = parent; |
|
|
|
root = parent; |
|
|
@ -1013,7 +1023,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons |
|
|
|
root._globalDeps || (root._globalDeps = {}); |
|
|
|
root._globalDeps || (root._globalDeps = {}); |
|
|
|
root._globalDeps[regStr] = _dep; |
|
|
|
root._globalDeps[regStr] = _dep; |
|
|
|
|
|
|
|
|
|
|
|
var _w = new Watcher(model, function () { |
|
|
|
var _w = new Watcher(currentModel, function () { |
|
|
|
_dep.depend(); |
|
|
|
_dep.depend(); |
|
|
|
return NaN; |
|
|
|
return NaN; |
|
|
|
}, function () { |
|
|
|
}, function () { |
|
|
|