uni-app globalData中key值如果加引号会报错

uni-app globalData中key值如果加引号会报错

项目信息 详情
产品分类 uniapp/App
PC开发环境操作系统 Mac
PC开发环境操作系统版本号 12.7.5 (21H1222)
HBuilderX类型 正式
HBuilderX版本号 4.15
手机系统 Android
手机系统版本号 Android 12
手机厂商 小米
手机机型 红米
页面类型 nvue
vue版本 vue3
打包方式 离线
项目创建方式 HBuilderX

操作步骤:

globalData: {  
    version:"0.0.1",  
    "sex":['男', '女'], //报错  
    appellation: ['无', '老师', '教授', '工', '师傅', '哥', '姐', '弟', '妹', '叔', '姨'],  
    addr: ['本地', '外地','同小区'],  
    color:[{  
            value: '#fec97f',  
            name: 'D级'  
        },  
        {  
            value: '#87de8b',  
            name: 'C级',  
        },  
        {  
            value: '#7cc6db',  
            name: 'B级',  
        },  
        {  
            value: '#d85e67',  
            name: 'A级',  
        }]  
}

预期结果:

globalData: {  
    version:"0.0.1",  
    "sex":['男', '女'], //期望不报错,这个值需要外部导入  
    appellation: ['无', '老师', '教授', '工', '师傅', '哥', '姐', '弟', '妹', '叔', '姨'],  
    addr: ['本地', '外地','同小区'],  
    color:[{  
            value: '#fec97f',  
            name: 'D级'  
        },  
        {  
            value: '#87de8b',  
            name: 'C级',  
        },  
        {  
            value: '#7cc6db',  
            name: 'B级',  
        },  
        {  
            value: '#d85e67',  
            name: 'A级',  
        }]  
}

实际结果:

报错

bug描述:

globalData: {  
    version:"0.0.1",  
    "sex":['男', '女'], //报错  
    appellation: ['无', '老师', '教授', '工', '师傅', '哥', '姐', '弟', '妹', '叔', '姨'],  
    addr: ['本地', '外地','同小区'],  
    color:[{  
            value: '#fec97f',  
            name: 'D级'  
        },  
        {  
            value: '#87de8b',  
            name: 'C级',  
        },  
        {  
            value: '#7cc6db',  
            name: 'B级',  
        },  
        {  
            value: '#d85e67',  
            name: 'A级',  
        }]  
}

Image


更多关于uni-app globalData中key值如果加引号会报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

这个是全局属性,本来就不能加引号; 要加你前面再包一层 person:{“sex”:[‘男’, ‘女’] }

更多关于uni-app globalData中key值如果加引号会报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html


uni-app 中,globalData 是一个用于存储全局数据的对象。在 JavaScript 中,对象的键(key)通常是不需要加引号的,除非键名中包含特殊字符或空格。如果你在 globalData 中给键值加了引号,通常情况下不会直接导致报错,但可能会引起一些不必要的混淆或错误。

例如,以下是正确的 globalData 定义方式:

// 正确的写法
export default {
  globalData: {
    userInfo: null,
    token: '',
    isLogin: false
  }
}

如果你给键值加了引号,如下所示:

// 加了引号的写法
export default {
  globalData: {
    "userInfo": null,
    "token": '',
    "isLogin": false
  }
}

这种情况下,代码仍然可以正常运行,因为 JavaScript 允许对象键名加引号。但是,如果你在访问 globalData 时使用了错误的键名(例如拼写错误),可能会导致 undefined 或其他错误。

可能导致报错的情况

  1. 键名中包含特殊字符或空格:如果键名中包含特殊字符或空格,必须加引号,否则会报错。

    export default {
      globalData: {
        "user-info": null, // 必须加引号
        "token value": '', // 必须加引号
        isLogin: false
      }
    }
    
  2. 访问时使用了错误的键名:如果你在访问 globalData 时使用了错误的键名,可能会导致 undefined 或其他错误。

    // 错误的访问方式
    console.log(this.globalData.userinfo); // undefined,因为键名是 "userInfo" 而不是 "userinfo"
回到顶部