File tree 2 files changed +7
-18
lines changed 2 files changed +7
-18
lines changed Original file line number Diff line number Diff line change @@ -14,16 +14,12 @@ _.define(
14
14
objProto ,
15
15
'$add' ,
16
16
function $add ( key , val ) {
17
+ if ( this . hasOwnProperty ( key ) ) return
17
18
var ob = this . __ob__
18
- if ( ! ob ) {
19
+ if ( ! ob || _ . isReserved ( key ) ) {
19
20
this [ key ] = val
20
21
return
21
22
}
22
- if ( _ . isReserved ( key ) ) {
23
- _ . warn ( 'Refused to $add reserved key: ' + key )
24
- return
25
- }
26
- if ( this . hasOwnProperty ( key ) ) return
27
23
ob . convert ( key , val )
28
24
if ( ob . vms ) {
29
25
var i = ob . vms . length
@@ -50,17 +46,12 @@ _.define(
50
46
objProto ,
51
47
'$delete' ,
52
48
function $delete ( key ) {
49
+ if ( ! this . hasOwnProperty ( key ) ) return
50
+ delete this [ key ]
53
51
var ob = this . __ob__
54
- if ( ! ob ) {
55
- delete this [ key ]
56
- return
57
- }
58
- if ( _ . isReserved ( key ) ) {
59
- _ . warn ( 'Refused to $add reserved key: ' + key )
52
+ if ( ! ob || _ . isReserved ( key ) ) {
60
53
return
61
54
}
62
- if ( ! this . hasOwnProperty ( key ) ) return
63
- delete this [ key ]
64
55
if ( ob . vms ) {
65
56
var i = ob . vms . length
66
57
while ( i -- ) {
Original file line number Diff line number Diff line change @@ -65,10 +65,9 @@ describe('Data API', function () {
65
65
expect ( vm . c ) . toBe ( 1 )
66
66
expect ( vm . _data . c ) . toBe ( 1 )
67
67
expect ( vm . _digest ) . toHaveBeenCalled ( )
68
- // reserved key should warn
68
+ // reserved key should not be proxied
69
69
vm . $add ( '_c' , 1 )
70
70
expect ( vm . _c ) . toBeUndefined ( )
71
- expect ( _ . warn ) . toHaveBeenCalled ( )
72
71
} )
73
72
74
73
it ( '$delete' , function ( ) {
@@ -77,10 +76,9 @@ describe('Data API', function () {
77
76
expect ( vm . hasOwnProperty ( 'a' ) ) . toBe ( false )
78
77
expect ( vm . _data . hasOwnProperty ( 'a' ) ) . toBe ( false )
79
78
expect ( vm . _digest ) . toHaveBeenCalled ( )
80
- // reserved key should warn
79
+ // reserved key should not be deleted
81
80
vm . $delete ( '_data' )
82
81
expect ( vm . _data ) . toBeTruthy ( )
83
- expect ( _ . warn ) . toHaveBeenCalled ( )
84
82
} )
85
83
86
84
it ( '$watch' , function ( done ) {
You can’t perform that action at this time.
0 commit comments