方法二:针对异步请求,接口请求顺序问题导致报错,使用.then()方法
created() {
this.getOwnerUnit().then(() => {//请求完第一个接口之后,再请求第二个接口,完美!!
this.getFormDetail()
原因一:异步请求数据还没到,vue在拿到数据之前就已经渲染完了页面解决方案数据为数组:hotspotList[i]&&hotspotList[i].itemid例如 <div style="display: flex;justify-content: space-between"> <p class="item-title">{{hotspotList[i]&&hotspotList[i].hotspotTitl
vendor.dll.js:31 TypeError: Cannot read property 'id' of undefined
at s.handleText (chunk-162b.c3775723.js:1)
at $t.get (vendor.dll.js:31)
at $t.evaluate (vendor.dll.js:31)
at s.handl...
//这个报错 我的问题是 要用到的数据读不到这个属性(我用的vue)
//1.检查你的data定义的属性是不是没有你用到的这个属性,没有的话就定义一个,如下:
#template
<div class="he-info__item">
<span class="he-label">收货人姓名:</span>
<span class="he-value">{{ detail.buyer.name }}</span>
学习Vue组件化的时候,有一个知识点是状态提升,当兄弟组件之间要进行通信的时候,有要操作的相关的数据的时候,将这些数据提升到共同的父容器中,以便进行操作。
当在 TodoInput 组件里面新增数据的时候,需要如图所示,经过App.vue这个父容器才能成功传递数据:
o
2、如果这个数据“xxx”是从后台异步获取的,那就最好在data中先给他个默认值
data() {
return {
obj1: '',
obj2: null.
obj3: {},
obj4: []
mounted(){
// 获取后台数据给obj们赋值等等各种异步操作
或者 当“xxx”是一个嵌套两层的
为了重现报错,上述第二段删掉了v-if判断,因为后台接口返回的数组对象中只有一项(我以为是固定的三项,有时候接口返回会不规范),funnelData[1].count中的count就会未定义。添加上判断就不会有问题了。如下代码解析:
未初始化,就是没...
这句话直译过来就是:TypeError:无法读取未定义的属性“ xxx”
首先去看看属性 ‘xxx’ 有没有定义。没定义的根据实际需求在data中或者方法中定义一下。
1、如果在data中定义了,先看看你的data写对了没,我有一次手误打成了 date ,检查了一下午才看出来o(╥﹏╥)o
2、如果这个数据“xxx”是从后台异步获取的,那就最好在data中先给他个默认值
data() {
return {
obj1: '',
obj2: null.