fix observer emitSet() when observed by multiple vms

This commit is contained in:
Evan You 2013-11-16 00:20:46 -05:00
parent cd52b25718
commit 0f7a9294b6
1 changed files with 4 additions and 4 deletions

View File

@ -142,14 +142,14 @@ function isWatchable (obj) {
* the watch conversion and simply emit set event for
* all of its properties.
*/
function emitSet (obj, observer) {
function emitSet (obj, observer, set) {
if (typeOf(obj) === 'Array') {
observer.emit('set', 'length', obj.length)
set('length', obj.length)
} else {
var key, val, values = observer.values
for (key in observer.values) {
val = values[key]
observer.emit('set', key, val)
set(key, val)
}
}
}
@ -196,7 +196,7 @@ module.exports = {
.on('set', proxies.set)
.on('mutate', proxies.mutate)
if (alreadyConverted) {
emitSet(obj, ob, rawPath)
emitSet(obj, ob, proxies.set)
} else {
watch(obj, null, ob)
}