(obj, key, val)
| 10 | }(this, function () { 'use strict'; |
| 11 | |
| 12 | function set(obj, key, val) { |
| 13 | if (hasOwn(obj, key)) { |
| 14 | obj[key] = val; |
| 15 | return; |
| 16 | } |
| 17 | if (obj._isVue) { |
| 18 | set(obj._data, key, val); |
| 19 | return; |
| 20 | } |
| 21 | var ob = obj.__ob__; |
| 22 | if (!ob) { |
| 23 | obj[key] = val; |
| 24 | return; |
| 25 | } |
| 26 | ob.convert(key, val); |
| 27 | ob.dep.notify(); |
| 28 | if (ob.vms) { |
| 29 | var i = ob.vms.length; |
| 30 | while (i--) { |
| 31 | var vm = ob.vms[i]; |
| 32 | vm._proxy(key); |
| 33 | vm._digest(); |
| 34 | } |
| 35 | } |
| 36 | return val; |
| 37 | } |
| 38 | |
| 39 | /** |
| 40 | * Delete a property and trigger change if necessary. |