我用JS SDK开发Nuxt.js项目,目前碰到了一个很怪异的问题,貌似代码也没有问题,百思不得其解。
问题是这样的,我有个StaffInfo表,用于存储员工信息,这个表里面有一个department字段,是Pointer类型,指向Department表里的数据,表示员工所在的部门。当Nuxt.js创建员工页面开启时,在asyncData()中我会查询Department数据以供创建员工时选择并关联。问题的复现步骤是:1,登录Nuxt.js系统;2,进入创建员工页面,此时Department列表数据加载正确;3,创建员工并保存。这几个步骤我都加了很多log,没有发现有任何地方报错,新员工存储后,从LeanCloud后台以及前端获得的返回数据来看,都是正确的。然而新员工一旦保存,就无法通过原有的查询方法获得Department数据了,也就是说,原先用于获取Department表数据的查询语句,此时得到的始终是空数组。查询条件不变,也没报错,查询返回结果始终是[],即使没有任何判断条件的查询也不行。目前发现的唯一的解决办法就是当前用户退出系统,再次登录进入后,即可查询到Department数据。但是如果再走一遍新用户创建流程,依然会在保存完新用户后查询不到Department数据。
与此同时,StaffInfo表中还有其它两个Pointer类型的字段,分别指向ProfessionalTitle表和_Role表,然而这两个字段却不存在department字段那样的问题,即在新用户数据保存后,依然可以查询获得这两个表中对应的数据。
目前我看不出哪里代码存在疑似问题,所以没有贴代码,后续如有需要,我会尽可能贴一写代码以供分析。