Browse Source

BI-33066

es6
iapyang 6 years ago
parent
commit
4fe4a2cdeb
  1. 58
      dist/fix/fix.ie.js

58
dist/fix/fix.ie.js vendored

@ -236,7 +236,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
var model = vm; var model = vm;
if (!model.addWatch && model.$vm) { if (!model.$watch && model.$vm) {
model = model.$vm; model = model.$vm;
} }
if (isPlainObject(cb)) { if (isPlainObject(cb)) {
@ -250,7 +250,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
options.user = true; options.user = true;
var exps = void 0; var exps = void 0;
if (_$1.isFunction(expOrFn) || !(exps = expOrFn.match(/[a-zA-Z0-9_.*]+|[|][|]|[&][&]|[(]|[)]/g)) || exps.length === 1 && !/\*/.test(expOrFn)) { if (_$1.isFunction(expOrFn) || !(exps = expOrFn.match(/[a-zA-Z0-9_.*]+|[|][|]|[&][&]|[(]|[)]/g)) || exps.length === 1 && !/\*/.test(expOrFn)) {
model.addWatch(expOrFn, cb, options); model.$watch(expOrFn, cb, options);
return []; return [];
} }
@ -305,7 +305,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
return result; return result;
}; };
model.addWatch(getter, function (newValue, oldValue, attrs) { model.$watch(getter, function (newValue, oldValue, attrs) {
callback(i, newValue, oldValue, _$1.extend({ index: i }, attrs)); callback(i, newValue, oldValue, _$1.extend({ index: i }, attrs));
}, _$1.extend(options, { }, _$1.extend(options, {
deep: isGlobal deep: isGlobal
@ -349,13 +349,13 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
return currentModels; return currentModels;
}; };
model.addWatch(_getter, function (newValue, oldValue, attrs) { model.$watch(_getter, function (newValue, oldValue, attrs) {
callback(i, newValue, oldValue, _$1.extend({ index: i }, attrs)); callback(i, newValue, oldValue, _$1.extend({ index: i }, attrs));
}, options); }, options);
return; return;
} }
model.addWatch(exp, function (newValue, oldValue, attrs) { model.$watch(exp, function (newValue, oldValue, attrs) {
callback(i, newValue, oldValue, _$1.extend({ index: i }, attrs)); callback(i, newValue, oldValue, _$1.extend({ index: i }, attrs));
}, options); }, options);
}); });
@ -487,26 +487,37 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
var allModelInstances = {}; var allModelInstances = {};
var emptyFn = function emptyFn() {}; var emptyFn = function emptyFn() {};
var Watcher = function Watcher(_ref) { var Watcher = function () {
var get = _ref.get, function Watcher(_ref) {
last = _ref.last, var get = _ref.get,
listener = _ref.listener, last = _ref.last,
sync = _ref.sync, listener = _ref.listener,
deep = _ref.deep; sync = _ref.sync,
deep = _ref.deep;
_classCallCheck(this, Watcher);
this.get = get;
this.last = cloneShadow(last);
this.listener = listener || emptyFn;
this.sync = sync || false;
return {
get: this.get,
last: this.last,
listener: this.listener
};
}
_classCallCheck(this, Watcher); // 不要去掉,为了兼容IE8,IE8下instance of Constructor如果不绑定函数会出错
this.get = get;
this.last = cloneShadow(last);
this.listener = listener || emptyFn;
this.sync = sync || false;
return { Watcher.prototype.getInstance = function getInstance() {
get: this.get, return this;
last: this.last,
listener: this.listener
}; };
};
return Watcher;
}();
function initState(vm, state) { function initState(vm, state) {
var watchers = vm._stateWatchers = {}; var watchers = vm._stateWatchers = {};
@ -628,7 +639,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
var p = vm._parent; var p = vm._parent;
while (p) { while (p) {
if (p.childContext && p.childContext.indexOf(key) > -1) { if (p.childContext && p.childContext.indexOf(key) > -1) {
p.addWatch(key, function (cur, last, p) { p.$watch(key, function (cur, last, p) {
if (!vm.alive) return; if (!vm.alive) return;
vm.model[key] = cur; vm.model[key] = cur;
vm._contextWatchers[key].last = cloneShadow(cur); // 避免重复调用(可以改成给watch添加一个参数保证下次比较一定相同) vm._contextWatchers[key].last = cloneShadow(cur); // 避免重复调用(可以改成给watch添加一个参数保证下次比较一定相同)
@ -749,6 +760,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
var watchers = [].concat(vm._watchers); var watchers = [].concat(vm._watchers);
_$1.each(watchers, function (watcher) { _$1.each(watchers, function (watcher) {
if (!watcher) return;
var cur = watcher.get(); var cur = watcher.get();
var last = watcher.last; var last = watcher.last;
@ -816,7 +828,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
Model.prototype._init = function _init() {}; Model.prototype._init = function _init() {};
Model.prototype.addWatch = function addWatch(expOrFn, cb, options) { Model.prototype.$watch = function $watch(expOrFn, cb, options) {
var watcher = createWatcher(this, expOrFn, cb, options); var watcher = createWatcher(this, expOrFn, cb, options);
this._watchers.push(watcher); this._watchers.push(watcher);
}; };

Loading…
Cancel
Save