Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
forked fromvuejs/vue

Commit9084747

Browse files
pkaminskiyyx990803
authored andcommitted
fix(core): Make set/delete warning condition for undefined, null and (vuejs#7818)
primitive values more precise. Correctsvuejs#7452
1 parent1a979c4 commit9084747

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

‎src/core/observer/index.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ import {
1010
hasProto,
1111
isObject,
1212
isPlainObject,
13+
isPrimitive,
14+
isUndef,
1315
isValidArrayIndex,
1416
isServerRendering
1517
}from'../util/index'
@@ -195,10 +197,9 @@ export function defineReactive (
195197
*/
196198
exportfunctionset(target:Array<any>|Object,key:any,val:any):any{
197199
if(process.env.NODE_ENV!=='production'&&
198-
!Array.isArray(target)&&
199-
!isObject(target)
200+
(isUndef(target)||isPrimitive(target))
200201
){
201-
warn(`Cannot set reactive property onnon-object/arrayvalue:${target}`)
202+
warn(`Cannot set reactive property onundefined, null, or primitivevalue:${(target:any)}`)
202203
}
203204
if(Array.isArray(target)&&isValidArrayIndex(key)){
204205
target.length=Math.max(target.length,key)
@@ -231,10 +232,9 @@ export function set (target: Array<any> | Object, key: any, val: any): any {
231232
*/
232233
exportfunctiondel(target:Array<any>|Object,key:any){
233234
if(process.env.NODE_ENV!=='production'&&
234-
!Array.isArray(target)&&
235-
!isObject(target)
235+
(isUndef(target)||isPrimitive(target))
236236
){
237-
warn(`Cannot delete reactive property onnon-object/arrayvalue:${target}`)
237+
warn(`Cannot delete reactive property onundefined, null, or primitivevalue:${(target:any)}`)
238238
}
239239
if(Array.isArray(target)&&isValidArrayIndex(key)){
240240
target.splice(key,1)

‎test/unit/modules/observer/observer.spec.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -360,12 +360,12 @@ describe('Observer', () => {
360360
try{
361361
setProp(null,'foo',1)
362362
}catch(e){}
363-
expect(`Cannot set reactive property onnon-object/array value`).toHaveBeenWarned()
363+
expect(`Cannot set reactive property onundefined, null, or primitive value`).toHaveBeenWarned()
364364

365365
try{
366366
delProp(null,'foo')
367367
}catch(e){}
368-
expect(`Cannot delete reactive property onnon-object/array value`).toHaveBeenWarned()
368+
expect(`Cannot delete reactive property onundefined, null, or primitive value`).toHaveBeenWarned()
369369
})
370370

371371
it('should lazy invoke existing getters',()=>{

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp