问题一
问题:后端接口返回空数据
经过:
因为编写从后端接口获得数据的函数,所以在.then()
把返回的数据rs.result
打印出来,发现为一个空对象。为了验证是否是传参出现问题,我选择直接在.then()
里面,就在打印数据rs.result
边上打印参数对应的数据,结果是参数正常。就是因为这里没有严谨地验证参数在发送request请求前是否正常,导致我绕了很多弯路才最后发现问题。
问题在于参数没有初始化,在request之前一直为空,可能是后面加载出来参数,在一个时间差下,导致处理response时能获得参数。
最后通过在created阶段显式调用模块的init()
函数得以解决。
反思:
- 记得调用模块的初始化函数,以防止参数加载不全导致的错误。
- 调试程序时要严谨地在错误前后都进行测试,而不是只在一面进行测试。
问题二
问题:页面渲染不完全
经过:
页面的渲染不完全,经过同事排查,最终发现问题出在class
的动态绑定上。使用了类似:class="!flag && 'class1'"
的写法,导致出现了问题。将写法改为:class=[!flag && 'class1']
问题解决。
反思:
- weex框架下数据限制较为严格,不支持动态绑定字符串。